2009-05-27 4 views
0

특정 매개 변수가 QueryString에 있는지 확인한 다음 동일한 URL로 리다이렉트하지만 해당 매개 변수는 제거해야하는 매우 복잡한 RewriteRule이 있습니다.Mod-Rewrite로 리디렉션 할 때 스트립 특정 매개 변수

일부 매개 변수를 제거하고 나머지는 보존하려면 어떻게해야합니까?

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

(매개 변수 주문 수량은 하드 코딩/예측하지 않습니다)

답변

0

이 규칙을 시도해보십시오 :

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

URL이 같은 것은

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가 어떤 매개 변수가 주어진 지 확인하고 거기에서 제거하십시오.