3

htaccess を使用して、% 文字で複数の URL をリダイレクトする必要があります。

現在、行は次のとおりです。

RewriteEngine On

RewriteCond% {REQUEST_FILENAME}!-F

RewriteCond% {REQUEST_FILENAME}!-D

RewriteRule ^-.*$ url [R=301,L]

RewriteRule ^%20.*$ url redirection [R=301,L]

RewriteRule ^%22.*$ url redirection [R=301,L]

RewriteRule ^images/files/myname%is-fyle.pdf.*$ url redirection [R=301,L]

From these lines, the redirects do not work are:

RewriteRule ^%20.*$ url redirection [R=301,L]

RewriteRule ^%22.*$ url redirection [R=301,L]

RewriteRule ^images/files/myname%is-fyle.pdf.*$ url redirection [R=301,L]

私が間違っていることについてのアイデアはありますか?私の知識はほとんど基本的なもので、URL に % を含むリダイレクトが機能しない理由がよくわかりません。

noescape [NE] としてのフラグの使用について調査しましたが、文字 % を含む URL からリダイレクトを取得できませんでした。

(htaccess の te 行の「url リダイレクト」は、フォーラムに新しく投稿できない URL です)。

ありがとうございました。

9 月 23 日: この問題を解決してくれた方々に感謝します。ただし、特殊文字 (% および ?) と大文字を含む URL は転送されません。

htaccess ファイルの完全なコードをコピーして貼り付けます

ここ: http://pastebin.com/yXGQiQzd

この投稿で見たアンカー (#) を含む URL にリダイレクトする方法は? どうやら答えが投稿されているようです。ただし、問題はルールの([])の使用にあります。例: ([a-zA-Z0-9-_]+)

たとえば、私の場合、次の URL です。

images/SchoolContry/wef/pdf/SomethingOfFiles/ca?da.pdf の背後にある理由 images/stories/Money/memo Matric?cula 2010.doc

特殊文字 (% と ?)、スペース、および大文字を含む URL がリダイレクトされない理由はありますか?

ありがとう。

4

1 に答える 1

0

URL でエンコードされた文字は、書き換えエンジンを介して送信される前にデコードされます。つまり、エンコードされた文字ではなく、デコードされた文字を使用して照合する必要があります。だから:

RewriteRule ^%20.*$ url redirection [R=301,L]

あなたがしたい:

RewriteRule ^\ .*$ url redirection [R=301,L]

とのために:

RewriteRule ^%22.*$ url redirection [R=301,L]

あなたがしたい:

RewriteRule ^\".*$ url redirection [R=301,L]
于 2013-09-13T14:59:17.380 に答える