2009-05-27 6 views
0

かなり複雑なRewriteRuleがあります。特定のパラメータがQueryStringに存在するかどうかを確認してから、同じURLにリダイレクトされます。Mod-Rewriteでリダイレクトするときのストリップ固有のパラメータ

パラメータを削除して残りの部分を保存するにはどうすればよいですか?

RewriteCond %{QUERY_STRING} color=red 
RewriteCond %{QUERY_STRING} status=contiue 
RewriteRule ^(.*)$ /$1? [R=301,L] 

URLは次のようである:

"http://example.com/site.php?setup=done&color=red&weight=100&status=continue" 

(パラメータ注文と数量は予測/ハードコードではありません)

答えて

0

は、これらのルールを試してみてください。

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)(color=red|status=continue)($|&)(.*) 
RewriteRule .* $0?%1%5 [N,E=REMOVED:true] 
RewriteCond %{ENV:REMOVED} true 
RewriteRule^%{REQUEST_URI} [L,R=301] 

別の方法を使用することですPHPがどのパラメータが指定されているかを確認し、そこから削除します。

関連する問題