Я использую модуль 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]