301重定向以摆脱斜线

时间:2011-07-25 19:45:00

标签: php .htaccess mod-rewrite redirect

htaccess中是否有办法将所有页面重定向到/无。所以例如我想要这个

http://somesite.com/something/ ==> http://somesite.com/something
http://somesite.com/another_thing/ ==> http://somesite.com/another_thing
http://somesite.com/page3/ ==> http://somesite.com/page3
http://somesite.com/page4/ ==> http://somesite.com/page4

page3,page4,something,something_thing都是每个目录中都有一个index.php文件...这就是我处理它的方式

在我的htaccess中,我正在摆脱/通过这个

DirectorySlash Off
RewriteCond %{REQUEST_FILENAME}/index\.php -f 
RewriteRule ^(.+)$ /$1/index.php [NC,QSA,L]

我基本上只是因为seo原因而想要301重定向,所以每个人都会在非斜杠页面上结束,即使它们被缓存了。提前谢谢

1 个答案:

答案 0 :(得分:2)

如果要从包含它们的所有请求中删除尾部斜杠,请尝试:

RewriteRule   ^/(.+)/$  /$1   [R]

同时查看URL Rewriting Guide并查找 Canonical URL 。另请注意DirectorySlash Off directive的文档和安全警告。