这个问题在这里已有答案:
我将mod_rewrite / .htaccess用于漂亮的URL .
我正在使用这个条件/规则来消除尾部斜杠(或者更确切地说:通过301重定向重写到非尾部斜杠URL;我这样做是为了避免重复内容,因为我喜欢不带尾随斜杠的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" -URL转发给非尾随斜杠网址 .
例:http://example.tld/foo/bar//////
前往 http://example.tld/foo/bar
虽然我只想 http://example.tld/foo/bar/
转发 http://example.tld/foo/bar
.
那么,如果它实际上只是一个斜杠,是否可以只消除尾部斜杠?
对不起,如果这是一个有点烦人或怪异的问题!
谢谢 .
1 回答
请试试这个模式
^( . [^/])/ $而不是^( . )/ $