2012-10-27 4 views
0

안녕 얘들 아, 내 htaccess를 올바르게 리디렉션하는 데 어려움을 겪고 있는데 도움이 필요했습니다.Multipart htaccess redirect

나는 Unfortunetly 나는 그것이 어떤 이유로 작동되지 수 http://DEV-www.domain.com/landing/external-marketing/direct-mail/AB?CampId=AB12345

RewriteCond %{HTTP_HOST} ^DEV-(www\.)?domain\.com [NC] 
RewriteCond %{QUERY_STRING} ^CampID= 
RewriteRule (\w{2})(\w{5})$ http://DEV-www\.domain\.com/landing/external-marketing/direct-mail/$1?CampId=$1$2 [R=301,L] 

로 리디렉션 DEV-domain.com?CampID=AB12345을 기대하고있어?

답변

1

RewriteRule 일치는 쿼리 문자열이 아닌 URL 경로를 의미하기 때문에. 이 시도 :

RewriteCond %{HTTP_HOST} ^DEV-(www\.)?domain\.com [NC] 
RewriteCond %{QUERY_STRING} ^CampID=(\w{2})(\w{5}) 
RewriteRule .* http://DEV-www.domain.com/landing/external-marketing/direct-mail/%1?CampId=%1%2 [R=301,L] 

또한 당신은 패턴과 일치에, 대상 URL에 점을 .을 탈출 할 필요가 없습니다. 그리고 당신은 당신의 대상 URL CampID 대신 CampId의을하기로 결정한 경우, 다른 상태로 둘 필요가 있음을 유의하십시오

RewriteCond %{REQUEST_URI} !^/landing/external-marketing/direct-mail/ 

가한다 RewriteCond 규칙과 일치 할 CampID와 대상으로 무한 리디렉션을 피하기 위해 ...

+0

실제로 우리는 '^ (? i : campid) = (\ w {2}) (\ w {5})'를 사용하여 일치하는 부분을 다시 쓰지 않아도됩니다. '도메인이 일치해야하므로 재 작성 조건을 통합 할 수 있는지 확실하지 않습니다. = ( – ehime