2010-08-18 2 views
0

많은 예제를 검색하여 시도했지만 아무 것도 제대로 작동하지 않는 것 같습니다. 원래 요청에 쿼리 문자열에 특정 항목이 있는지에 따라 특정 URL로 요청을 리디렉션해야합니다.쿼리 문자열 값이있는 요청을 기반으로 리디렉션하는 방법은 무엇입니까?

www.mydomain.com/test.html?username=foo & 암호 = 바

그래서 나는이를 리디렉션 할 경우에만 사용자 이름 변수가

www.mydomain에 쿼리 문자열에 존재입니다 .COM/home.html을? 이름은 = foo는 & 암호 = 바

뿐만 아니라, 페이지가 될 수있는 페이지, .eg는 test.html를, home.html을, contact.php 사용자 이름 변수는

입니다

그래서 경우 쿼리 strin에서 발견되었습니다. g이면 리디렉션 만 발생합니다.

귀하의 도움에 감사드립니다.

나는이 시도했지만 작동하지 않았다 : 당신은이 작업을 수행하는 QUERY_STRING을 사용할 수 있습니다

RewriteRule ^username(.*)$ test.html?username=$1 [L,QSA]

답변

0

.

RewriteCond %{QUERY_STRING} username 
RewriteCond %{REQUEST_URI} !^/home.html 
RewriteRule .* /home.html/ [L,QSA] 
+0

감사합니다. 나는 이것을 시도했지만 작동하지 않는 것 같습니다. 또한 2 라인은 무엇을합니까? 두 번째 줄을 제거하면 "RewriteCond % {REQUEST_URI}! ^/home.html" – k22k

+0

: "RewriteCond % {REQUEST_URI}! ^/home.html", 작동하는 것으로 보이지만 500 내부 서버 오류가 발생합니다. – k22k

+0

@ k22k, 두 번째 줄은 다시 쓰기 규칙을 최종 대상에 적용하지 않고 리디렉션 루프에 빠지게합니다. home.html이 이것을 처리하는 최종 스크립트가 아니라면 적절하게 변경해야합니다. 나를 위해 작동합니까, 그냥 리디렉션되지 않습니다? – jasonbar

관련 문제