我将mod_rewrite / .htaccess用于漂亮的网址。
我正在使用这个条件/规则来消除尾部斜杠(或者更确切地说:通过301重定向重写到非尾随斜杠网址;我这样做是为了避免重复内容,因为我喜欢使用URL没有尾随斜杠更好):
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} !^\.localhost$ [NC] RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
目前运作良好。唯一的缺点:
它还将“multiple-trailing-slash”-URLs 转发给非尾随斜杠网址。
例:
http://example.tld/foo/bar//////
转发http://example.tld/foo/bar
虽然我只希望http://example.tld/foo/bar/
转发到http://example.tld/foo/bar
。
那么,如果它实际只是只有一个尾部斜杠,是否有可能只消除尾部斜杠?
对不起,如果这是一个有点烦人或奇怪的问题!
感谢。
答案 0 :(得分:0)
请尝试这种模式
^(。+ [^ /])/ $而不是^(。+)/ $