ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > プログラミング > mod_rewriteでURLのクエリを引き継いでリライトするRewriteRuleの書き方
2008年07月17日 21:55
1301日前に投稿

mod_rewriteでURLのクエリを引き継いでリライトするRewriteRuleの書き方

  • ... PV
  • このエントリーをはてなブックマークに追加

スポンサード リンク

mod_rewriteのRewriteRuleでクエリを引き継ぎたい場合は、QSAフラグが使えることを最近知りました。

たとえば次のようなURLをリクエストします。

http://example.com/status/fkoji?count=10

サーバ側で定義している RewriteRule は次のようなものです。

RewriteRule /([^/]+)/([^/]+) index.php?controller=$1&user_name=$2 [L]

この場合、リライト後のURLは、

http://example.com/index.php?controller=status&user_name=fkoji

となって元々存在していた count クエリが消えてしまって困ります。

こういう場合にQSAフラグを使うことができます。

RewriteRule /([^/]+)/([^/]+) index.php?controller=$1&user_name=$2 [QSA,L]

↑ このようにQSAフラグをつけると、

http://example.com/index.php?controller=status&user_name=fkoji&count=10

のようにきちんとクエリを引き継ぐことができます。

RewriteRule使ったらクエリが消えちゃって困った!という方は試してみてください。

スポンサード リンク

Written by
Meity.jp - 「DM送りたいのでフォローしてください」とかめんどくさくないですか?


トラックバック

このエントリーのトラックバックURL:

プログラミング / 豆知識

English version

前のエントリー: « iPod touchをMacBook Airとインターネット共有してiPhone体験
次のエントリー: デジイチ初心者でも簡単に使える?ソニーのα300を体験してきました »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: