私はこのルールを持っています:
RewriteCond %{QUERY_STRING} someGetParameter=1
RewriteRule ^someoldpage.php$ http://newdomain.ru/page/ [L,R=301]
リダイレクト後、
http://newdomain.ru/page/?someGetParameter=1
それ以外の
http://newdomain.ru/page/
なぜそれがうまくいかないのですか?
あなたの仮定が間違っているので、それは「間違っている」でしょう、RewriteRule
ディレクティブを見てください:
クエリ文字列の変更
デフォルトでは、クエリ文字列は変更されずに渡されます。ただし、クエリ文字列部分を含む置換文字列にURLを作成することはできます。置換文字列内で疑問符を使用するだけで、次のテキストをクエリ文字列に再挿入する必要があることを示します。既存のクエリ文字列を消去する場合は、疑問符だけで置換文字列を終了します。新しいクエリ文字列と古いクエリ文字列を組み合わせるには、
[QSA]
フラグを使用します。
それで:
RewriteCond %{QUERY_STRING} someGetParameter=1
RewriteRule ^someoldpage.php$ http://newdomain.ru/page/? [L,R=301]