【问题标题】:How to identify the country & change the URL accordingly如何识别国家并相应地更改 URL
【发布时间】:2011-09-24 06:08:43
【问题描述】:

我们有三个域,一个用于美国,一个用于英国,一个用于加拿大。我希望我的用户应该自动重定向到国家特定的 URL,无论他们打开什么域。例如如果用户来自美国并且他正在打开 example.co.uk,那么他/她应该被重定向到 example.com。

【问题讨论】:

  • 这里只提一句警告:作为用户,我发现这种行为非常烦人且非常粗鲁:我想负责我的电脑,虽然我很感谢软件的帮助,但我不保留控制权让我感到失落。考虑您的用户是否会有同样的感受。
  • 搜索“ip to country”,您会发现提供的各种技术。

标签: html http .htaccess http-headers


【解决方案1】:

您可以尝试通过 IP 来识别国家。例如见http://www.ip2location.com/ 这不会涵盖所有人,但在大多数情况下应该没问题。

【讨论】:

    【解决方案2】:

    有两种选择: 1) 使用MultiViews 选项配置您的网络服务器以查找浏览器设置并显示适当的页面。 2) 使用mod_rewrite / .htaccess 并根据Accept-Language HTTP 标头重定向用户。

    完整详情,请看答案here。谢谢。

    【讨论】:

      【解决方案3】:

      我正在为我的一位客户寻找类似的解决方案。幸运的是,我们使用的是 Wordpress,并且能够使用这个插件 http://wordpress.org/extend/plugins/ip2country/ 来制作特定国家/地区的内容条件和模板。这个插件利用了在这里找到的 Geolite http://dev.maxmind.com/geoip/geolite 希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        康拉德的评论再怎么强调也不过分。除了重定向之外,您是否可以为用户提供重定向 - 或者如果您只是重定向发送横幅,告诉他们被重定向并询问他们是否希望不被重定向?如果他们选择了,他们不想被重定向,你将他们重定向回来,并通过 URL 中的额外子句或 cookie 确保他们不会再次被重定向。

        只有一个故事来说明烦恼:我的新滚刀坏了。我无法访问 Electrolux.com。我被重定向到 Electrolux.ch。似乎有一个疑难解答,但链接已损坏。 .ch 站点肯定不是他们的主要开发方面,德语也不是他们的主要站点语言。该链接可能在英文 .com 下有效,但伊莱克斯不允许我对其进行测试。

        或者,如果我在某个国家/地区并且不会说该国家/地区的语言,因此希望留在原始 URL 并使用该语言?

        或者,我认为我在另一个国家的表弟向我发送了一个 .com 链接而我无法打开它?

        有很多烦人的场景。

        【讨论】:

        • 这更像是讨论/评论,而不是答案,afaict。如果您支持另一个答案,我建议您在其下添加评论。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-18
        • 1970-01-01
        • 2015-05-10
        相关资源
        最近更新 更多