• 締切済み

動的URLから静的URLへのリダイレクト

htaccessで動的URLを静的URLに301リダイレクトしたいのですが、うまくいきません。 どのように記述すればよいでしょうか? 静的URL同士のリダイレクトしか分からず、困っています。 よろしくお願いします。 http://example.com/yyy.cgi?cate=1&page=1 リダイレクト先 http://example.com/zzz.htm

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

.htaccessじゃなく、CGIで単純にQUERY_STRINGやPATH_INFOを使えばよいかと思いますけど・・  そもそもそれってCGI相手にリクエストしてるのですから・・ if($ENV{'QUERY_STRING'}){   ******   ******   elsif($ENV{'SCRIPT_NAME'} eq 'yyy.cgi')     {&Redirect301;} }    

rootster
質問者

補足

うまく伝わってないようです。 CGIで生成されたページそのものはすでに存在しません。 背景を説明すると長くなってしまうのですが、サーバを移転し、その際に静的URLに変更しました。 下記のようなURLでブックマークされており、そのリクエストに対して新たな静的URLを充てたいのです。 そのため http://example.com/xxx/yyy.cgi?cate=1&page=1http://example.com/zzz.htmhttp://example.com/xxx/yyy.cgi?cate=1&page=2http://example.com/vvv.htmへ という具合にそれぞれリダイレクトしたいのです。 そういったリダイレクトは不可能でしょうか? 説明が悪くて申し訳ありません。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>htaccessで動的URLを静的URLに301リダイレクトしたいのですが、 「静的URLを動的URLに301リダイレクトしたい」の間違いではないのですよね? 動的を静的というのは、レアケースだと思うので、あまりサンプルはウェブ上にはないかと。 >http://example.com/yyy.cgi?cate=1&page=1 >リダイレクト先 >http://example.com/zzz.htm そういうことであれば、.htaccessを使わず、yyy.cgi で リダイレクトヘッダを返すのが簡単だと思います。 あと、cate= や page= のパラメータはどうするのですか?それらの値がどうであれ、yyy.cgiが呼ばれたらzzz.htmにリダイレクトする?

rootster
質問者

補足

動的を静的にで間違いありません。 パラメータが変われば単純に1つのURLと見なし、xxx.html へという具合にひとつずつ指定したいのです。 (10ページほどですので)

関連するQ&A