Home > Apache | PHP > mod_rewriteの「%2F」問題の解決法

mod_rewriteの「%2F」問題の解決法

  • Posted at 2008/10/21 18:53
  • Categories: Apache, PHP
  • Tags: , ,
  • hatena button
  • hatena count
  • save this page del.icio.us

いや~、はまったはまった。。。

mod_rewriteを使った場合にクエリーに「%2F」が含まれていてうまく動かない場合の解決方法です。

PHPで以下のようなスクリプトをくんだとします。

index.php

< ?php
echo $_GET["pre"];
echo $_GET["path"];
?>

そして、

以下のように「.htaccess」にmod_rewrite構文を設定していたとします。

RewriteEngine On
RewriteRule ^hiroshima/(.*)$ index.php?pre=hiroshima&path=$1 [L]

ここで、「http://*******/hiroshima/aiueo/」にアクセスすると、きちんとアクセスできます。

この場合、mod_rewriteによって実際には、「http://****/index.php?pre=hiroshima&path=aiueo」にアクセスします。

しかし、

http://*******/hiroshima/aiueo%2Fkakikukeko/

にアクセスすると、うまくアクセスできなくなってしまいました。

mod_rewriteによって、

http://****/index.php?pre=hiroshima&path=aiueo%2Fkakikukeko

というURLに実際にはアクセスするのですが、「%2F」、つまりは「/(スラッシュ)」をURLエンコードした文字列を含む場合、うまくデコードしてくれないようなのです。

この解決方法としては、

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.multiburst.net/ElectricBrain/2008/10/mod_rewrite2f/trackback
Listed below are links to weblogs that reference
mod_rewriteの「%2F」問題の解決法 from ElectronicBrain is eating BreakFast

Home > Apache | PHP > mod_rewriteの「%2F」問題の解決法

Recent Posts
Sponsored Link
今読んでいる本
Recent Comments
Recent Trackbacks
RSS はてブ人気エントリー
楽天AD
Hatena Bookmark

この日記のはてなブックマーク数

feedburner

あわせて読みたい
Yahoo! ログール
feedmeter

フィードメーター - ElectronicBrain is eating BreakFast

BlogRanking

Trackword

Return to page top