リダイレクトを機能させることができませんでした。私が望んでいた動作は、次からリダイレクトされます。
www.mysite.com/?id=12345
に
www.mysite.com/?other_id=12345
私が書いたルールは、次のように最後に一致するすべての URL を取得するようです。
www.mysite.com/directory/another/?id=12345
これをすべてのレベルではなく、ルートレベルで機能させたいだけです。
私が現在持っているルールは次のとおりです。
RewriteCond %{QUERY_STRING} ^(.*&)?id=([^&]+)$
RewriteRule ^(.*)$ http://%{SERVER_NAME}/?other_id=%2 [R=301,L]
何らかの理由で、最初の正規表現がないと受け入れられないため、最初の正規表現を含める必要がありました。最初の ^(.*&) がなければ、サイトが動作しないリダイレクトを作成し、爆撃していると言い続けました。これは私の問題の一部である可能性があります.
このルールを記述するより良い方法はありますか? または、ルートレベルの一致だけでは不可能ですか?
ありがとうございました、
シルバータイガー