パラメータ付きの302リダイレクトURL
htaccessファイルでは次のように動作します
redirect 302 /old.php http://somesite.com/new.php
しかし、フォローは失敗します
redirect 302 /old.php?this=that http://somesite.com/new.php
2番目のバージョンにはクエリ文字列が含まれているためだと思います。どうすればそのようなURLをリダイレクトできますか?
宛先URLの形式が異なるため、自動化されたルールにはできないことに注意してください。そのため、ユーザーがリダイレクトされるカスタムURLを作成する必要があります。
私はここでの返信で同様の質問を見つけましたが、提案された解決策は機能しません:
.htaccessはURLをリダイレクトできません
ありがとうございました
回答
1 anubhava
このルールは、古いドメインのサイトルート.htaccessの最上位ルールとして使用できます。
RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)this=that(?:&|$) [NC] RewriteRule ^old\.php$ http://somesite.com/new.php? [R=301,L]