我正在使用 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
你可以简单地使用否定!
来重定向除中国CN
和俄罗斯之外的任何内容RU
。
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CN|RU)$
RewriteRule ^(.*)$ https://example.com/us/$1 [L]