.htaccessでの別ページへのリダイレクト
以下の旧URLに来た場合、301リダイレクトで新URLへ転送したいのですが、
.htaccessのRewriteRuleはどのように書けばいいでしょうか? いろいろ試していますが、
うまくいきません。アドバイスいただければ幸いです。
旧URL https://example.com/stay/db/database.cgi?cmd=dp&num=1234&dp=ad.html
新URL https://example.com/stay/db/database.cgi?cmd=dp&num=1234&dp=all.html
【条件追記】上記新旧URLに書きました「1234」という部分は、実は複数あるうちの一つでして、他に「2354」になったURLもあります。この数字が「1234」の時だけリダイレクトしたいのです。
【テスト結果】
URLが新URLへリダイレクトされましたが、以下のエラー画面が出て、
「このページは動作していません 「ドメイン名」でリダイレクトが繰り返し行われました。Cookie を消去してみてください.
ERR_TOO_MANY_REDIRECTS」
新URL https://example.com/stay/db/database.cgi?cmd=dp&num=1234&dp=all.html
の画面が表示されなくなりました。(代わりに上記エラー画面が出ます)
(Cookie を消去してみましたが同じで上記エラー画面が出ます)
【成功しました】
1234があるとリダイレクトし続けるようなので、以下のようにしましたら無事成功しました。
RewriteEngine on
RewriteCond %{REQUEST_URI} !=/stay/db/database.cgi?cmd=dp&num=1234&dp=all.html
RewriteCond %{QUERY_STRING} &num=1234&dp=ad.html
RewriteCond %{QUERY_STRING} ^(.&dp)=(.+)$
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}?%1=all.html [R=301,L]
アドバイスありがとうございました。感謝です。
上記結果で、何か不備がありましたら、ご教示をよろしくお願いいたします。