在ExpressionEngine 2中获取尾部斜杠?

时间:2012-11-03 21:45:16

标签: expressionengine

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

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

有一个.htaccess解决方案,我已经在我的旧EE网站中使用了,因为这个问题正是如此。

添加尾部斜杠

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

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

但是,由于它在EE2中默认存在,您可能希望通过.htaccess执行OPPOSITE和删除尾随斜杠,这样您就不必手动添加/删除/删除任何内容。如果您决定,请输入以下代码:

删除尾随斜杠

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

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