c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

ありがたい引数

modrewiteで
/hoge.cgi を /exec/Hoge
にリダイレクトするとき、普通

RewriteRule ^/hoge.cgi /exec/Hoge [R]

と書くだろうが、実際に使ってみるとリンク元
hoge.cgi?dat=1
みたいな引数を持っている場合に
/exec/Hoge?dat=1
と丁寧に引数をひきずってくれちゃう。
多分書き換え先に?が無い場合、mod_rewriteが気を利かせてくれているのだろうが…飛ばし先が違う設計の物だと引数を持っているのは不味い。

で、引数はPATHとは別に、%{QUERY_STRING}って環境変数に入っているのはわかったのだが、それを消す正しいやり方がわからなかった。

まあ普段?以降を自分で組み立てている時はこんな事無いので、抜け道を思いつく。

RewriteRule ^/hoge.cgi /exec/Hoge? [R]

と書いてしのいでみた。