尾部斜杠会导致内部服务器错误

时间:2009-11-22 20:14:00

标签: mod-rewrite

如果用户最后添加了一个尾部斜杠,我希望我的所有页面都能正常工作

以下行有效

RewriteRule ^index/page/([0-9]+)/?$ /cmstut/index.php?page=$1 [QSA,L]

但是以下行导致内部服务器错误,这是最后一行 这条线应该重写所有其他页面没有属性,如联系页面,关于我们页面或索引页面

RewriteRule ^(.+[^/])/?$ /cmstut/$1.php [QSA,L]

1 个答案:

答案 0 :(得分:3)

如果请求的URI路径不正确,最好只使用一个拼写(带或不带斜杠)并重定向:

# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ %{REQUEST_URI}/ [L,R=301]

# remove trailing slash
RewriteRule (.+)/$ /$1 [L,R=301]