我的htaccess文件中包含以下代码:# Force Trailing SlashRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^[^/]+$ %{REQUEST_URI}/ [L,R=301]当我转到www.mydomain.com/test时,这似乎工作正常,它将其重定向到/ test /。问题是,当我转到www.mydomain.com/test/another时,它不会在末尾加上斜线。有没有人知道如何修改我的代码以使斜杠有效,无论URL多长时间?谢谢!
3 回答
慕村225694
TA贡献1880条经验 获得超4个赞
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]
编辑:在您要排除某些请求(例如php文件)的情况下:
RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]
HUX布斯
TA贡献1876条经验 获得超6个赞
根据上面的答案,答案略强一些:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
该RewriteCond会检查,以确保有一个与该名称的文件,如果没有,则执行重写规则。比具有扩展名的手动列表更具前瞻性!
添加回答
举报
0/150
提交
取消