mod_rewrite - QSAフラグ
Rev.1を表示中。最新版はこちら。
QSAオプション
リファレンスを読んでもいまいちピンと来ないQSAに関するメモ。QSAオプションがないケース
RewriteRule ^/(.+)/pg/(.*)$ /$1/index.php?pg=$2 [L]このルールは http://www.bit-hive.com/april/pg/sampleのようなURLをhttp://www.bit-hive.com/april/index.php?pg=sampleのように変換するものである。
入力URLに
http://www.bit-hive.com/april/pg/sample?code=1のようにクエリ文字列が付加されていた場合でもhttp://www.bit-hive.com/april/index.php?pg=sample
のようクエリ文字列が置き換えられてcode=1は消えてしまう。
QSAをいれて以下のようにしておけば
RewriteRule ^/(.+)/pg/(.*)$ /$1/index.php?pg=$2 [QSA,L]http://www.bit-hive.com/april/index.php?pg=sample&code=1
のようになる。