2011-07-05 6 views
1

404が見つかりませんでした。もちろん、urlにはクエリーストリングが形成されています。URLが%記号のときにhttpが見つかりませんでした

http://www.example.com/ref=http%3A%2F%2Fwww.example.org/ 

.htaccessの確認に失敗しています。

RewriteRule ^(.*)$ index.php?request_url=$1 [QSA,L] 

そのURLリーチは/上記.htaccessルールをパススルーした場合、私は単にR=301を追加することができますが、そのURLはその.htaccessルールpassingthrough /達すると404エラーが表示されません。

+0

hi。 fixig受け入れ率を説明してください –

答えて

0

URLがエンコードされ、(\の場合は%2F /と%5C)としてデコードされるため、動作しません。 Apacheは

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450

http://securitytracker.com/id/1018110 (Look at section 4. Solution)

はそれが仕事のいずれかに復号要求を渡すか、Apacheの設定でAllowEncodedSlashesを有効にすると、Apacheサービスを再起動するには、より詳細な情報は次のURLをご確認ください 要求のこれらの種類のセキュリティ制限があります

http://httpd.apache.org/docs/current/mod/core.html#allowencodedslashes

関連する問題