
Я использую модуль GeoIP Apache и базу данных 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
Вы можете просто использовать отрицание !
, чтобы перенаправить что угодно, кроме Китая CN
и России RU
.
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CN|RU)$
RewriteRule ^(.*)$ https://example.com/us/$1 [L]