在现有的重写规则.htaccess中添加尾部斜杠

时间:2013-09-30 14:13:31

标签: .htaccess

我在 .htaccess 中有这个重写规则:

RewriteCond %{QUERY_STRING} !(^|&)lang=[a-z]{2}(&|$) [NC]
RewriteCond %{REQUEST_URI} !^/(en|it) [NC]
RewriteRule ^(?:[a-z]{2}/)?(.*)$ /it/$1 [L,NC,R]
RewriteRule ^([a-z]{2})/(.*)$ /index.php?lang=$1&page=$2 [L,NC,QSA]

一切都很完美,但如果我从以下网站访问网站,如何修改它们以添加尾部斜杠:

http://mydomain.com/en

通过这种方式,我实际上得到了404。 非常感谢。

2 个答案:

答案 0 :(得分:1)

让您的代码如下:

RewriteCond %{QUERY_STRING} !(^|&)lang=[a-z]{2}(&|$) [NC]
RewriteCond %{REQUEST_URI} !^/(en|it) [NC]
RewriteRule ^(?:[a-z]{2}/)?(.*)$ /it/$1 [L,NC,R]

RewriteRule ^([a-z]{2})$ %{REQUEST_URI}/ [L,NC,R]

RewriteRule ^([a-z]{2})/(.*)$ /index.php?lang=$1&page=$2 [L,NC,QSA]

答案 1 :(得分:0)

在您已有的规则之前添加此规则:

RewriteRule ^([a-z]{2})$ /$1/ [L,R=301]