17

次の htaccess ルールを使用して、Web URL から 2 つ以上のスラッシュを削除しています。

#remove double/more slashes in url
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]

これは、url を使用する場合のように、uris の途中で発生したスラッシュに対して正常に機能しています。

http://demo.codesamplez.com/html5//audio

適切な単一のスラー URL にリダイレクトされています。

http://demo.codesamplez.com/html5/audio

ただし、URL の先頭に二重スラッシュが含まれている場合、ドメイン名の直後では機能しません。例:

http://demo.codesamplez.com//html5/audio

リダイレクトされていません。

上記のルールをこのタイプの URL でも機能するように修正するにはどうすればよいですか? ありがとう。

4

6 に答える 6

18

試してみてください:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

ドメインの末尾にある単一のスラッシュにリダイレクトする必要があります。そしてあなたの改善:

RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
于 2013-08-29T17:24:15.163 に答える