Назад | Перейти на главную страницу

GeoIP: перенаправляйте все, кроме определенных стран

Я использую модуль Apache GeoIP и базу данных MaxMind, чтобы определить страну посетителя на основе его IP-адреса и перенаправить его в подпапку страны, как показано ниже:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ https://example.com/us$1 [L]

Я хотел бы перенаправить в подпапку / us все страны, кроме Китая и России. Список кодов стран указан Вот, но я предпочитаю применять подстановочный знак к условию перезаписи, а не перечислять все страны в моем .htaccess файл.

Можно ли сделать что-то вроде RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^*$? Или мне нужно расширить условие перезаписи на все страны, например RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(US|CA|ZA|NG|GH|)$?

Вы можете просто использовать отрицание ! перенаправить что угодно, кроме Китая CN и Россия RU.

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CN|RU)$
RewriteRule ^(.*)$ https://example.com/us/$1 [L]