2016-11-04 3 views
0
# case: leading and trailing parameters 
RewriteCond %{QUERY_STRING} ^(.+)?session=[0-9a-z]+&(.+)$ [NC] 
RewriteRule (.*) /$1?%1&%2 [R=301,L] 

# case: leading-only, trailing-only or no additional parameters 
RewriteCond %{QUERY_STRING} ^(.+)?session=[0-9a-z]+$|^osCsid=[0-9a-z]+&?(.*)$ [NC] 
RewriteRule (.*) /$1?%1 [R=301,L] 

URL은 다음과 같습니다 https://www.test.com/test/?session=123htaccess로 : URL에서 매개 변수를 제거

이이 ?session=123을 차단하지 않나요?

그렇지 않은 경우 어떻게해야합니까?

답변

1

당신은 쿼리 문자열에 어디에서 매개 변수를 제거하려면이 규칙을 사용할 수 있습니다

RewriteCond %{QUERY_STRING} ^(.*&)?session=[^&]*(?:&(.*))?$ [NC] 
RewriteRule^%{REQUEST_URI}?%1%2 [L,R=301,NE] 
+0

니스, 작동합니다. 한가지 더, 세션 값이 "\"로 시작하는 경우 제거 할 수 있습니까? 시도 : RewriteCond % {QUERY_STRING}^(. * &)? session = \ [^ &] * (? : & (. *))? $ – aeroncy

+0

죄송합니다. 값이 큰 따옴표로 시작하는 경우에만이 매개 변수를 제거 하시겠습니까? – anubhava

+0

거의. 값이 백 슬래시로 시작하는 경우 매개 변수를 제거하고 싶습니다. – aeroncy

관련 문제