hosting:htaccess:geoip-country-code

2.12.8. Определение страны посетителя

Каждый запрос на сайт содержит специальный заголовок GeoIp-Country-Code, в котором содержится двухбуквенный код страны посетителя (ISO 3166). Страна определяется исходя из IP-адреса посетителя по данным MaxMind GeoLite.

Ниже представлены варианты решения некоторых типичных задач (во всех примерах указанные строки нужно добавить в начало файла .htaccess в корневом каталоге сайта):

Запретить доступ к сайту для посетителей из Китая:

RewriteEngine On
RewriteCond %{HTTP:GeoIp-Country-Code} ^(CN)$
RewriteRule .* - [F]

Сделать редирект с главной страницы в подраздел /ua/ для посетителей из Украины:

RewriteEngine On
RewriteCond %{HTTP:GeoIp-Country-Code} ^(UA)$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* /ua/ [L,R=302]

Заблокировать POST-запросы (комментарии/авторизация на сайте/постинг на форуме) со всех стран, кроме Украины и Польши:

RewriteEngine On
RewriteCond %{HTTP:GeoIp-Country-Code} !^(UA|PL)$
RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* - [F]

Заблокировать GET-запросы (комментарии/авторизация на сайте/постинг на форуме) со всех стран, кроме Украины и Польши:

RewriteEngine On
RewriteCond %{HTTP:GeoIp-Country-Code} !^(UA|PL)$
RewriteCond %{REQUEST_METHOD} GET
RewriteRule .* - [F]
  • hosting/htaccess/geoip-country-code.txt
  • Последние изменения: 2019/08/29 11:07
  • — karlov