我的 htaccess 文件中有以下代码:

# Force Trailing Slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]+$ %{REQUEST_URI}/ [L,R=301]

当我去时这似乎工作正常www.mydomain.com/test 它将其重定向到/test/。www.mydomain.com/test/another它不会将尾部斜杠放在另一个斜杠上。

有谁知道如何修改我的代码,以使无论 URL 有多长,尾部斜杠都可以工作?

谢谢!

答案

RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

Edit:如果您想排除一些请求,例如 php 文件:

RewriteCond %{REQUEST_URI}  !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

来自: stackoverflow.com