因此,我需要设置VirtualHost
一个域,根据客户端的 IP 地址将其路由到不同的应用程序。
例如,我希望为访问的美国用户example.com
提供服务/path/to/usa/application
,而为来自不同国家的用户提供服务/new/international/application/path
答案1
你可以这样做mod_geoip和mod_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
,而其他请求将从默认文档根目录进行处理。