- 締切済み
動的URLから静的URLへのリダイレクト
htaccessで動的URLを静的URLに301リダイレクトしたいのですが、うまくいきません。 どのように記述すればよいでしょうか? 静的URL同士のリダイレクトしか分からず、困っています。 よろしくお願いします。 http://example.com/yyy.cgi?cate=1&page=1 リダイレクト先 http://example.com/zzz.htm
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
.htaccessじゃなく、CGIで単純にQUERY_STRINGやPATH_INFOを使えばよいかと思いますけど・・ そもそもそれってCGI相手にリクエストしてるのですから・・ if($ENV{'QUERY_STRING'}){ ****** ****** elsif($ENV{'SCRIPT_NAME'} eq 'yyy.cgi') {&Redirect301;} }
- notnot
- ベストアンサー率47% (4900/10358)
>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にリダイレクトする?
補足
動的を静的にで間違いありません。 パラメータが変われば単純に1つのURLと見なし、xxx.html へという具合にひとつずつ指定したいのです。 (10ページほどですので)
補足
うまく伝わってないようです。 CGIで生成されたページそのものはすでに存在しません。 背景を説明すると長くなってしまうのですが、サーバを移転し、その際に静的URLに変更しました。 下記のようなURLでブックマークされており、そのリクエストに対して新たな静的URLを充てたいのです。 そのため http://example.com/xxx/yyy.cgi?cate=1&page=1はhttp://example.com/zzz.htmへ http://example.com/xxx/yyy.cgi?cate=1&page=2はhttp://example.com/vvv.htmへ という具合にそれぞれリダイレクトしたいのです。 そういったリダイレクトは不可能でしょうか? 説明が悪くて申し訳ありません。