Minase's Blog - FYA

URLエンコード with mod_rewrite in Apache 1.3

投稿日:

URLエンコード を含むURLを mod_rewrite で使う場合の注意。

URLエンコード を用いたURLを mod_rewrite で制御しようとすると404エラーなどになる。
Apacheのログでもそれは確認できる。
どうやら Apache 1.3 であることも問題らしい。
URLエンコードがなぜか勝手にデコードされている様子。

この問題の解決は簡単である。
単純にURLエンコードを二回かければ解決できる。

ここでのデメリットはURLエンコードを二回かけるのでURLエンコード部分が長くなってしまうことである。
その点さえ気にしなければ問題なく動作する。
どうしてもURLエンコードを一回で済ませたい場合はmod_rewriteを使わないようにするか、Apacheのバージョンを2.0系、または2.2系にするしかない。