如何在 Apache 中为特定国家/地区设置目录

如何在 Apache 中为特定国家/地区设置目录

因此,我需要设置VirtualHost一个域,根据客户端的 IP 地址将其路由到不同的应用程序。

例如,我希望为访问的美国用户example.com提供服务/path/to/usa/application,而为来自不同国家的用户提供服务/new/international/application/path

答案1

你可以这样做mod_geoipmod_rewrite. 类似下面的方法应该可以解决问题:

DocumentRoot /new/international/application/path

GeoIPEnable On
GeoIPDBFile path-to-geoip.dat

RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ /path/to/usa/application/$1 [L]

如果 geoip 模块将某个 IP 地址归类为位于美国,则该 IP 地址发出的请求将从 进行处理/path/to/usa/application,而其他请求将从默认文档根目录进行处理。

相关内容