mod_rewrite と %2F

2004-9-1 18:29
このエントリーをはてなブックマークに追加

Apache の mod_rewrite を使っているときに、正規表現は正しいのに、どうしてもうまく書き換えルールが適用されず、404 エラーになってしまう現象に悩んでいました。どうやら$2F の罠のようです。

REQUEST_URI のパスの部分に「%2F」が含まれると mod_rewrite は動作しない。

まさにこれが原因だったようです。回避方法として、

Apache 2.0.46 and later より allowEncodedSlashes Directive が追加され、 ‘%2F’がURIに含まれていても、 これを on にすれば 404 Not Found を返さなくなった。

というのが示されていましたが、作業していた Apache は諸事情により最新版ではないので、パッチをバックポートしなければなりません。面倒くさいので、断念しました。しかし、これははまりますね。

  • ブックマーク : アクセス: 7,688回
  • カテゴリー : Apache
  • キーワード :

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

71 queries. HTML convert time: 1.097 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン