
我使用 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]