atemiya回答ポイント 50ptウォッチ 2

index.cgiという、フォームに入力されたパラメータを元に検索結果を返すスクリプトがあるとします。

※フォームはindex.cgiで生成。

[目的1] フォームからのGET送信時にブラウザのアドレスバーに表示されるURLを静的にしたい。
[目的2] 変換されたURLから検索結果が返ってくるようにしたい。

 イメージ
 [A] http://example.com/?foo=aa&bar=bb → [B] http://example.com/foo_aa/bar_bb/

暫定的にですが、以下のように実現させました。
(1) フォームのactionに、ラッパースクリプトとしてurl.cgiを指定する。
 [A] → [C] http://example.com/url.cgi?foo=aa&bar=bb
(2) url.cgiが、[C]を[B]に変換して301リダイレクト。※[目的1]実現。
 [C] → [B]
(3) mod_rewriteで、そのURLが実在しない場合のみ、[B]を例えば以下のように変換させる。
 [B] → [D] http://example.com/(index.cgi)?param=foo_aa/bar_bb/
(4) index.cgiが、内部でparamを再変換して、検索結果を表示する。※[目的2]実現。

 ・これは一般的なやり方として「アリ」か?
 ・僕が気づいてない弊害や問題点はないか?
 ・もっとスマートな解法はないか?

是非アドバイスをお願い致します。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する
回答がありません

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2010-06-15 07:08:12
終了日時
2010-06-22 07:10:03
回答条件
1人3回まで

この質問のカテゴリ

この質問に含まれるキーワード

mod_rewrite174CGI2023スクリプト2307ブラウザ4012リダイレクト414ラッパー37パラメータ533URL11376アドレスバー142

人気の質問

メニュー

PC版