在ExpressionEngine 2中获取尾部斜杠?

Lin*_*son 5 expressionengine

我刚从EE 1升级到EE 2,我正在努力应对一些变化.例如,EE不再在其URL上输出尾部斜杠这一事实使得我的很多链接变得混乱,我依赖于EE生成的url +附加段等构造.考虑到我网站的大小和设置,找到并编辑我所做过的所有地方都是一个小噩梦.有没有办法破解EE以恢复旧的行为?

小智 6

对于某些人来说,所提到的尾部斜线添加可能会导致某些形式的冲突.添加以下内容以检查请求是否为GET可能更安全.

# Add a trailing slash to paths without an extension
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
Run Code Online (Sandbox Code Playgroud)


lea*_*lea 0

有一个 .htaccess 解决方案可以解决这个问题,正是因为这个问题,我在我的旧 EE 站点中使用了该解决方案。

添加尾部斜杠

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
Run Code Online (Sandbox Code Playgroud)

来源: http: //devot-ee.com/articles/item/simple-htaccess-for-expressionengine-sites

但是,由于它在 EE2 中默认存在,因此您可能需要执行相反的操作并删除尾随斜杠,这样您就不必手动添加/删除/执行任何操作。如果您决定这样做,请使用以下代码:

删除尾部斜杠

RewriteCond %{HTTP_HOST} !^\.yoursite\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

来源: http: //ee-spotlight.com/tips/a_standard_htaccess_file_with_expressionengine