2009-02-07 3 views
0

잘 나는 곧 페이지로 내 IP이없는 사용자 리디렉션하려면 다음 코드를 사용하고 있습니다 :부울 AND의 .htaccess에서

rewritebase/
rewritecond %{REMOTE_HOST} !(^1\.2\.3\.4) 
rewritecond %{REQUEST_URI} !/comingsoon\.html$ 
rewriterule .* http://www.andrew-g-johnson.com/comingsoon.html [R=302,L] 

을 나는 두 개의 IP의를 가질 수 있도록 내가 만들고 싶어을 그 어떤 생각을 어떻게 할 수 있습니까?

답변

1

실제로 Cletus의 제안을 권하고 싶지만, .htaccess를 고집하고 싶다면 다른 조건의 행을 추가하는 것이 좋습니다. 이점은 긴 정규 표현식으로 연결하는 것보다 읽기 쉽습니다. :

rewritebase/
rewritecond %{REMOTE_HOST} !(^1\.2\.3\.4) 
rewritecond %{REMOTE_HOST} !(^5\.6\.7\.8) 
# and so forth 
rewritecond %{REQUEST_URI} !/comingsoon\.html$ 
rewriterule .* http://www.andrew-g-johnson.com/comingsoon.html [R=302,L] 
1

당신은 같은 정규 표현식을 지정할 수 있습니다 :

(1\.2\.3\.4|5\.6\.7\.8) 

을하지만 당신이 원하는 더 많은 예외 다루기된다.

대신 허용 및 거부 지시어로 mod_access (Apache를 사용한다고 가정)을 사용하십시오.

order deny, allow 
deny all 
allow from 1.2.3.4 
allow from 5.6.7.8 
ErrorDocument 403 http://www.andrew-g-johnson.com/comingsoon.html 

곧 출시 될 403에 대한 맞춤 오류 문서와 결합됩니다.

0

RewriteCond 지시어는 AND와 함축적으로 결합됩니다. 그래서 당신은이를 표현하는 또 다른 RewriteCond 지시문을 추가해야합니다 :

RewriteCond %{REMOTE_HOST} !^1\.2\.3\.4$ 
RewriteCond %{REMOTE_HOST} !=5.6.7.8 
RewriteRule !^comingsoon\.html$ comingsoon.html [R=302,L] 

또한, 당신은이 주소의 끝이 ^$을 usind 시작하거나 =와 사전 식 비교를 지정해야합니다.

관련 문제