mod_rewriteでURLに「%2F」が入っているとエラーになる

URLを正規表現で書き換えることができるApacheモジュール「mod_rewrite」。URLをリダイレクトしたり、動的URLを静的URLに見せたりと便利に使える。

が、URLに「%2F」が入っているとエラー (404 Not found) になる。

Apache 2.0.46 以降では、httpd.conf に以下の設定をする

AllowEncodedSlashes On

と回避できる。

httpd.conf が設定できない場合やバージョン 2.0.46 以下のApacheを使っている場合では、事前に「%2F」だけを二重にURLエンコードして「%252F」と施すなどプログラム側で対策を考えたい。

関連サイト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

最近の投稿

カテゴリー

アーカイブ