要求元のブラウザに301リダイレクトを発行すると、次のようになります。
RewriteCond %{QUERY_STRING} query=string
RewriteRule ^/page/ /page/ [R=301]
ただし、適切なコンテンツを提供したいだけで、次のようにして301リダイレクトを回避できます。
RewriteCond %{QUERY_STRING} query=string
RewriteRule ^/page/ /page/ [PT,NS,E=QUERY_STRING:]
QUERY_STRINGが完全に削除されるので、注意してください。
/ page /のすべてではなく、いくつかの異なるクエリ文字列を書き直したい場合
RewriteCond %{QUERY_STRING} query=badstring1 [OR]
RewriteCond %{QUERY_STRING} query=badstring2 [OR]
RewriteRule ^/page/ /page/ [PT,NS]
すべてのRewriteRulesは、どこかに「RewriteEngine On」があることを前提としています。これは、ホストで行われている可能性があります。また、.htaccessリクエストに基づいて使用されていると思われるApacheのmod_rewriteモジュールも必要になります。
http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
もちろん、これがスクリプトに渡されている場合を除いて、ページは引数を必要としない場合は引数を無視するため、これは非常に不要に思えます。この場合、コードでこれを処理できるはずですが、おそらく問題を引き起こしているフレームワーク。
これは、このテーマに関するすばらしい本です
。Pro Apache
277〜299ページを参照してください。