問合せ文字列と一致させる場合は、mod_rewriteを使用し、RewriteCond
ディレクティブのQUERY_STRINGサーバー変数をチェックする必要があります。 mod_aliasディレクティブ(つまり、Redirect
とRedirectMatch
は、クエリ文字列ではなくURLパスにのみ一致します)。あなたが何かを行うことができhttp://example.com/?bloginfo=racing
http://example.com/racing
に
たとえば、次のようにリダイレクトする:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^bloginfo=racing$
RewriteRule ^$ /racing? [R=302,L]
置換の末尾?
はそうでない場合、リクエストからクエリ文字列を除去するために必要とされ、ターゲットURLに渡されます。あるいは、Apache 2.4でQSD
フラグを使用してください。
キャッシュが問題を起こさないようにするために、正常に動作することが確認されている場合にのみ、302(一時的)から301(永続的)に変更してください。そして、あなたは、次のような何かを行うことができ、これは、より汎用的にすると/<something>
に/?bloginfo=<something>
をリダイレクトする
:
RewriteCond %{QUERY_STRING} ^bloginfo=([^&]+)
RewriteRule ^$ /%1? [R=302,L]
%1
は最後の試合CondPatternのでキャプチャサブパターンへの後方参照です。
これはまさに私が探していたとして。非常に教育的です。どうもありがとうございます! –