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 |) $ ?

1
задан 4 March 2018 в 13:00
1 ответ

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

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CN|RU)$
RewriteRule ^(.*)$ https://example.com/us/$1 [L]
1
ответ дан 3 December 2019 в 23:19

Теги

Похожие вопросы