php-htaccessurl编码/解码删除尾部斜杠


php htaccess url encode/decode remove trailing slash

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

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

该网站使用Codeigniter构建,有三种语言,其中俄语是其中之一,在URI中使用西里尔字符。我使用urlencode生成路线,使用urldecode通过URI从数据库中找到正确的页面。

删除尾部斜杠在英语和德语中效果很好,但当我尝试将尾部斜杠添加到使用西里尔字符的URI时,我会得到404页。删除/后的URI似乎是正确的,但我不明白为什么我得到404,URL与输入的URL相同,没有尾部斜杠。

不编码时使用NE标志:

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