2015-01-28 3 views
1

특정 사용자 에이전트와 일치하는 IP 주소 이외의 여러 IP 주소를 리디렉션하려고합니다. 지금까지 성공적으로 한 IP 범위에서이 작업을 수행 할 수있었습니다 예 :.htaccess 여러 IP 범위에 대해 리디렉션

그래서
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$ 
RewriteCond %{HTTP_USER_AGENT} !^useragent$ 
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L] 

위의 리디렉션 IP를 URL에 123.123.123.x - 해당 IP는 경우이 사용자 에이전트를 가지고 있지 않는 리디렉션이 발생하지 않습니다.

실제로 다른 여러 IP 범위를 리디렉션해야합니다. 하지만 다음과 같이하면 모든 것이 무효화됩니다.

RewriteEngine on 
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$ 
RewriteCond %{REMOTE_ADDR} ^124\.124\.124\.[0-9]{1,3}$ 
RewriteCond %{HTTP_USER_AGENT} !^useragent$ 
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L] 

내가 뭘 잘못하고 있니? 중복 된 질문을 찾을 수 없었습니다.

답변

1

당신은 정상적인 테스트가 "AND"때문에 [OR]을 추가해야합니다

RewriteEngine on 
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$ [OR] 
RewriteCond %{REMOTE_ADDR} ^125\.125\.125\.[0-9]{1,3}$ [OR] 
#..... 
RewriteCond %{REMOTE_ADDR} ^124\.124\.124\.[0-9]{1,3}$ 
RewriteCond %{HTTP_USER_AGENT} !^useragent$ 
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L] 
관련 문제