我在.htaccess文件中有一段代码: 用尾部斜杠替换php扩展名。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)/$
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule (.*)/$ $1.html [L]
RewriteCond %{REQUEST_URI} (.*)/$
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule (.*)/$ $1.php [L]
RewriteCond %{REQUEST_URI} (.*)/$
RewriteCond %{REQUEST_FILENAME}\.cgi -f
RewriteRule (.*)/$ $1.cgi [L]
## redirect /dir/foo to /dir/foo/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f [OR]
RewriteCond %{REQUEST_FILENAME}\.php -f [OR]
RewriteCond %{REQUEST_FILENAME}\.cgi -f
RewriteRule .* %{REQUEST_FILENAME}/ [R=301,L]
</IfModule>
我的问题是如何将所有请求从www.mydomain.com/foo
重定向到www.mydomain.com/foo/
? (注意尾部斜杠)
答案 0 :(得分:1)
解决方案:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.example.com/$1/ [L,R=301]
来源&amp;解释:http://enarion.net/web/htaccess/trailing-slash/
RewriteCond %{REQUEST_FILENAME} !-f
如果文件存在则无重定向RewriteCond %{REQUEST_URI} !(.*)/$
条件:&#34;如果没有尾随斜杠&#34; RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301]
重定向
到URL +尾部斜杠