パラメータ付きの302リダイレクトURL

Jun 17 2020

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 Jun 17 2020 at 07:26

このルールは、古いドメインのサイトルート.htaccessの最上位ルールとして使用できます。

RewriteEngine On

RewriteCond %{QUERY_STRING} (?:^|&)this=that(?:&|$) [NC] RewriteRule ^old\.php$ http://somesite.com/new.php? [R=301,L]