我使用以下 htaccess 规则从 Web url 中删除双斜杠或多个斜杠:
#remove double/more slashes in url
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
这对于 uri 中间出现的斜线效果很好,例如,如果使用 url:
http://demo.codesamplez.com/html5//audio
它被重定向到正确的单斜杠 url:
http://demo.codesamplez.com/html5/audio http://demo.codesamplez.com/html5/audio
但是,如果 url 开头包含双斜杠,就在域名之后,则它不起作用,例如:
http://demo.codesamplez.com//html5/audio
它没有被重定向。
如何修复上述规则以适用于这种类型的网址?谢谢。
尝试一下:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]
它应该重定向到域末尾的单个斜杠。
以及对你的改进:
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)