根据用户的位置重定向网站


Website redirection according to location of a user

我的组织有两个网站。一个代表英国,另一个代表印度。我想根据用户的位置将他们重定向到特定的网站,无论是英国还是印度。换句话说,英国用户对英国网站和印度用户对印度网站的URL保持不变。

可能的解决方案是什么?

有许多可能的解决方案,其中一些包括:

  1. 您可以使用GeoIP Apache模块(mod_geoip(和mod_rewrite。您可以"代理"请求,在内部重写它,或者更改检索文件的目录
  2. 您可以创建包含在index.php(或者可能是所有页面(中的代码片段,这些代码片段从不同的目录加载文件。PHP还包括使用GeoIP数据的函数(通过PECL(。点击此处了解更多信息
  3. 您可以使用$_SERVER['HTTP_ACCEPT_LANGUAGE'],因为国家/地区代码通常与语言一起使用。我不推荐这种方法,因为它非常不可靠
  4. 等等

您可以分析浏览器发送的HTTP标头Accept-Language并相应地重定向,或者使用GeoIP,就像Francois已经提到的那样。

但就我个人而言,我一直建议让用户自己决定他想去哪里。