電子書籍の厳選無料作品が豊富!

htaccessで動的URLを静的URLに301リダイレクトしたいのですが、うまくいきません。
どのように記述すればよいでしょうか?
静的URL同士のリダイレクトしか分からず、困っています。
よろしくお願いします。

http://example.com/yyy.cgi?cate=1&page=1
リダイレクト先
http://example.com/zzz.htm

A 回答 (2件)

.htaccessじゃなく、CGIで単純にQUERY_STRINGやPATH_INFOを使えばよいかと思いますけど・・


 そもそもそれってCGI相手にリクエストしてるのですから・・

if($ENV{'QUERY_STRING'}){
  ******
  ******
  elsif($ENV{'SCRIPT_NAME'} eq 'yyy.cgi')
    {&Redirect301;}
}


   

この回答への補足

うまく伝わってないようです。
CGIで生成されたページそのものはすでに存在しません。
背景を説明すると長くなってしまうのですが、サーバを移転し、その際に静的URLに変更しました。

下記のようなURLでブックマークされており、そのリクエストに対して新たな静的URLを充てたいのです。

そのため
http://example.com/xxx/yyy.cgi?cate=1&page=1http://example.com/zzz.htm
http://example.com/xxx/yyy.cgi?cate=1&page=2http://example.com/vvv.htm
という具合にそれぞれリダイレクトしたいのです。

そういったリダイレクトは不可能でしょうか?

説明が悪くて申し訳ありません。

補足日時:2014/05/01 23:15
    • good
    • 0

>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ページほどですので)

補足日時:2014/05/01 06:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!