我正在尝试从一个特定(/ blog)目录中的所有url中删除尾随斜杠。
例如:
http://www.example.com/blog/cowboy/应该被301化为http://www.example.com/blog/cowboy http://www.example.com/tips/cowboy/应该保持不变,而不是301ed
我当前使用以下RewriteRule
RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L]
RewriteRule ^blog/([0-9]+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L]
RewriteRule ^blog/([0-9A-Za-z_\-]+)/?$ index.php?m=pages&p=$1 [L]
可以重新修改它以删除尾部斜杠吗?
答案 0 :(得分:2)
您可以在现有规则之前拥有301
规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/.+)/$ /$1 [L,NE,R=301]
RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L,QSA,NC]
RewriteRule ^blog/(\d+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L,QSA,NC]
RewriteRule ^blog/([\w-]+)/?$ index.php?m=pages&p=$1 [L,QSA,NC]