首页 文章

mod_rewrite:删除尾部斜杠(只有一个!)[复制]

提问于
浏览
0

这个问题在这里已有答案:

我将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 回答

  • 0

    请试试这个模式

    ^( . [^/])/ $而不是^( . )/ $

相关问题