index.php?action=this&id=1 を index.php?action=this&id=2 にリダイレクトしたい
.htaccess で以下のコードを試しましたが、役に立ちませんでした
redirect 301 index.php?action=this&id=1 http://mysite.com/index.php?action=this&id=2
ここで何が間違っていますか?回避策は何ですか?
リダイレクトしたいページにこれを追加してみてください
<meta HTTP-EQUIV="REFRESH" content="0; url=index?action=this&id=2">
特定のクエリ文字列に一致させるには、 mod_rewriteを使用する必要があります。ホストにインストール/許可されているかどうかを確認してください。この場合のルールは次のようになります。
# most likely be required for rewrite rules to function properly
Options +FollowSymLinks +SymLinksIfOwnerMatch
# Activate Rewrite Engine
RewriteEngine On
RewriteBase /
# actual rule
RewriteCond %{QUERY_STRING} ^action=this&id=1 [NC]
RewriteRule ^index\.php$ /index.php?action=this&id=2 [R=301,L]
これは、Web サイトのルート フォルダーの .htaccess に配置する必要があります。他の場所に配置する場合は、いくつかの小さな変更が必要になる場合があります。
このルールは、他の URL にのみリダイレクト/index.php?action=this&id=1
し/index.php?action=this&id=2
、他の URL にはリダイレクトしません (質問で尋ねたように)。
のように最初の URL の前にスラッシュを追加するだけです
Redirect 301 /index.php?action=this&id=1 http://mysite.com/index.php?action=this&id=2