【Apache】allowEncodedSlashes %2Fが入っているURLに対する動作の設定
Apache のモジュール mod_rewrite で、あからさまに動的なページに見えるURLを、静的ページっぽいURLにすることができます。
item/1234/5/6.html
とアクセスされると、内部的には
item.php?code=1234&color=5&size=6
で処理できるような機能です。
そんなrewriteなどしていると時々やりますが、item/1234/5%2F6.html とアクセスするとどうなるでしょうか。(%2Fは / の urlencode したもの)
Apacheのデフォルトの設定では %2Fが入っているURLは拒否します。
→ 404 Not Found
このパス分離文字に対する動作を設定するのが allowEncodedSlashes ディレクティブ。
デフォルトは allowEncodedSlashes off。
allowEncodedSlashes on に設定することで、
item/1234/5%2F6.html
こんなURLも門前払いしないでちゃんと取り扱うようになります。
コメント