つい最近、一部のサイトが誤ってパーセントエンコードされたURLでリンクしていることに気付きました。私のサーバー(LAMP)は404 Not Foundで応答します。
たとえば、次のような私のURLの場合:
http://www.site.com/page.php?param=value
彼らはこのようにリンクしています:
http://www.site.com/page.php%3Fparam%3Dvalue
そう:
%3F
の代わりに?
)を理解するようにApacheを構成するために何かできますか?%3F
を?
に変換してリダイレクトを設定しても安全ですか?まず最初に、@ LazyOneが言ったように、サードパーティのURLが適切に生成されていないので、サーバーが失敗することが予想されます。
有効なHTMLと有効なURLは別のものであることに注意してください。 HTMLコンテンツのエンティティをエスケープする である必要がありますが、これは リンク、画像アドレス、外部ファイルの呼び出しを書き込む の場合は当てはまりません。
脱出するかどうかを決める前に、自問してみてください。これはユーザーによって読まれますか、それともブラウザによって読まれますか?答えは、どのタイプのエンコーディングを使用すべきかを示します。