Php 基于位置的重新路由的最佳(最准确)方式?

Php 基于位置的重新路由的最佳(最准确)方式?,php,routing,geolocation,reroute,Php,Routing,Geolocation,Reroute,问题 我们有一个ccTLD网站(example.de),其中包含不同语言的子文件夹,显然需要将其移动到example.com以实现正确的语言目标。由于example.com属于母公司集团公司,该公司迄今为止一直在301ing所有访客到us-group.com,并且不愿意让我们301ing example.de到example.com,也不愿意让他们现有的301s到us-group.com,我们需要做一些变通 任务 来自北美和南美的游客应改道访问us-group.com 来自所有其他国家(如欧洲和

问题

我们有一个ccTLD网站(example.de),其中包含不同语言的子文件夹,显然需要将其移动到example.com以实现正确的语言目标。由于example.com属于母公司集团公司,该公司迄今为止一直在301ing所有访客到us-group.com,并且不愿意让我们301ing example.de到example.com,也不愿意让他们现有的301s到us-group.com,我们需要做一些变通

任务

来自北美和南美的游客应改道访问us-group.com 来自所有其他国家(如欧洲和东南亚)的游客应从example.de转到example.com,并在那里停留,无需改道到us-group.com

挑战

我们认为许多来自美洲的访问者使用代理,因此通过IP重新路由可能不是最佳选择。us-group.com将失去大量以前的流量

然而,考虑到大多数说英语的用户可能不会按地区(如美国、非盟、英国、加利福尼亚州)调整他们的语言,按他们的浏览器语言重新路由用户也可能不是很准确。。。因为任何英语对他们来说都可以。 因此,我们将无法将CA和美国用户重新路由到US-group.com,而英国和非盟用户仍留在example.com/en/

使用PHP脚本重新路由用户还需要哪些其他选项? 将IP地址和浏览器语言检测结合起来有意义吗?如果是,应如何以及优先考虑什么

有没有人能够分享类似的经历


额外的想法:显然,这并不是我们考虑做的唯一事情。在重新安排来自美洲的游客之前,我们将:

  • 修改example.com域的DNS设置(记录:IP为 将更改为德国服务器的IP地址)
  • 修改vhost记录,以便德语服务器重定向example.com 访问example.com/en/(包含英文 example.de的部分内容)
  • 将访客从美洲重新路由到us-group.com(如上所述,通过浏览器和操作系统语言)

这篇文章链接到我的第一个问题。

大部分内容似乎是你第一个问题的复制+粘贴,大致目的似乎是一样的。你在这里寻找不同的答案吗?嗨@halfer,谢谢你回复我。是的,我确实在寻找一个不同的答案。当我第一次问这个问题时,我想知道如何通过浏览器和系统语言重新路由,因为我认为这是最准确的选择。现在我只是听说通过系统语言重新路由可能是不可能的(除非用户使用IE),并且基于浏览器语言的路由可能没有那么准确。作为一种浏览器语言,英语可以指EN-CA、EN-US等。我需要找出用户是来自英国还是美国等,以相应地发送他们。你可以使用JavaScript识别他们的时区-不幸的是,这不会给你一个位置,但这可能是一个开始。如果你的自动检测错误,你应该允许人们选择他们去的网站。谢谢。时区听起来很有趣。你认为这比浏览器语言更准确吗?这可能以任何方式与浏览器语言结合在一起,这有意义吗?我还没有尝试过。如果浏览器在标题中发送一个语言请求,那么您可以将其组合起来,这值得尝试几个小时,但我认为这不会非常准确。JavaScript可以关闭,因此也增加了不可靠性。因为这个功能只是将人们引导到正确的站点,所以我不会在上面花费太多时间。