Перепишите вопрос в .htaccess - PullRequest
0 голосов
/ 31 июля 2011

Я поместил это в свой htaccess

#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] 

Хотя посетители не из Англии будут заходить в index.php

Однако я обнаружил, что посетители из Англии могут посетить этот сайт www.xxx.com / england.php, если есть адрес в адресной строке.Как сделать эту страницу доступной только для IP-адреса Англии?ТНХ

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Лучшим подходом будет использование mod_authz_host и «запретить всем» по умолчанию, а затем разрешать только те диапазоны IP-адресов, которые вы хотите разрешить. Наконец, добавьте ErrorPage, который перенаправляет запрещенных посетителей на страницу индекса.

См. руководство по Apache .

0 голосов
/ 31 июля 2011

Очевидно, вам нужно знать, какие IP-адреса находятся в Англии.

Вы можете получить данные, которые вам требуются, например, http://www.maxmind.com/app/geolitecountry. Затем вы можете найти IP-адрес и определить его местоположение.

Я не знаю, будет ли размещение данных в .htaccess жизнеспособным решением.

Цитата с сайта maxmind ...

Из-за большого размера баз данных геолокации мы обычно рекомендуем используя наш двоичный формат с одним из наших API, так как они очень оптимизирован для скорости и дискового пространства. С другой стороны, если у вас есть требование импортировать данные в базу данных SQL, формат CSV рекомендуемые. Мы перечислили некоторые рекомендации для импорта и запросов данные с базой данных SQL.

Но я думаю, вы можете попробовать и посмотреть ..

...