我的组织有两个网站。一个代表英国,另一个代表印度。我想根据用户的位置将他们重定向到特定的网站,无论是英国还是印度。换句话说,英国用户对英国网站和印度用户对印度网站的URL保持不变。
可能的解决方案是什么?
有许多可能的解决方案,其中一些包括:
- 您可以使用GeoIP Apache模块(
mod_geoip
(和mod_rewrite
。您可以"代理"请求,在内部重写它,或者更改检索文件的目录 - 您可以创建包含在
index.php
(或者可能是所有页面(中的代码片段,这些代码片段从不同的目录加载文件。PHP还包括使用GeoIP数据的函数(通过PECL(。点击此处了解更多信息 - 您可以使用
$_SERVER['HTTP_ACCEPT_LANGUAGE']
,因为国家/地区代码通常与语言一起使用。我不推荐这种方法,因为它非常不可靠 - 等等
您可以分析浏览器发送的HTTP标头Accept-Language
并相应地重定向,或者使用GeoIP,就像Francois已经提到的那样。
但就我个人而言,我一直建议让用户自己决定他想去哪里。