2011-07-31 4 views
0

나는 비 잉글랜드 방문자의 index.php 그러나한다 RewriteEngine 질문은

에 착륙되지만

#Redirect all england visitor to this web page , england.php 
RewriteEngine On 
RewriteCond %{REMOTE_ADDR} ^222\.167\. [OR] 
RewriteCond %{REMOTE_ADDR} ^112\.111\. 
........ 
RewriteRule ^(.*)$ http://www.xxx.com/england.php [R=302,L] 

, 내가 잉글랜드 방문자가이 웹 사이트를 방문 할 수 있음을 발견 내 htaccess로에 넣고있다 www.xxx.com/england.php 주소 표시 줄에 주소를 입력하십시오. 어떻게이 페이지를 england IP 주소에서만 사용할 수 있습니까? thx

+0

왜 이러한 제한이 필요합니까? 내가 영국 출신이지만 현재 프랑스 나 독일에 있다면'/ english.php'에 접속하고 싶습니다. 왜 나를 금지합니까? – LazyOne

답변

0

분명히 당신은 어떤 IP 주소가 영국에 있는지 알아야합니다.

http://www.maxmind.com/app/geolitecountry과 같은 데이터를 얻을 수 있습니다. 그런 다음 IP 주소를 찾아 위치를 결정할 수 있습니다.

.htaccess에 데이터를 넣는 것이 가능한 솔루션인지 잘 모르겠습니다. maxmind 사이트에서

견적 ... 그들은 매우 있는 속도에 최적화되어 있기 때문에 인해 위치 정보 데이터베이스의 큰 크기로

, 우리가 일반적으로 우리의 API 중 하나 우리의 바이너리 형식을 사용하여 추천 디스크 공간. 반면에 데이터를 SQL 데이터베이스로 가져올 요구 사항이있는 경우 CSV 형식은 이 좋습니다. 데이터를 SQL 데이터베이스로 가져오고 쿼리하기위한 몇 가지 지침을 나열했습니다.

하지만 당신이 그것을 시도하고 볼 수있는 것 같아요 ..

0

다음에만 IP는 당신이 수 있도록 할 범위를 허용 mod_authz_host을 사용하고 기본적으로 "모두 거부"하기 위해 더 나은 방법이 될 것이다. 마지막으로 금지 된 방문자를 색인 페이지로 리디렉션하는 ErrorPage를 추가합니다.

the Apache manual을 참조하십시오.