php htaccess url encode / decode删除尾部斜杠

时间:2013-12-09 12:05:25

标签: php apache .htaccess mod-rewrite

我正在使用.htaccess从URI中删除尾部斜杠:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ $1 [R=301,L]

该网站使用Codeigniter构建,有三种语言,其中俄语是其中之一,在URI中使用西里尔字符。我使用urlencode生成路由,urldecode查找数据库中的右侧页面。

删除尾部斜杠适用于英语和德语,但是当我尝试在使用西里尔字符的URI中添加尾部斜杠时,我得到404页面。删除/后的URI似乎是正确的,但我无法理解为什么我得到404,URL与输入的URL相同而没有斜杠。

1 个答案:

答案 0 :(得分:0)

使用NE标志进行不编码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/$ $1 [R=301,L,NE]