【问题标题】:How to redirect all example.org traffic to example.com from ONLY 1 country?如何将所有 example.org 流量从仅 1 个国家/地区重定向到 example.com?
【发布时间】:2011-04-05 18:19:05
【问题描述】:

我有两个站点,example.com 和 example.org,我想将所有从 X 国访问 example.org 的人重定向到 example.com,如何使用 php 或 .htaccess 来实现?

简而言之,两个网站都可以使用,但对于 X 国 IP,浏览 .org 的访问者将在不知情的情况下重定向到 .com

【问题讨论】:

  • 你怎么看,怎么解决的?
  • 您打算如何确定访问者的来源?您必须解析他的 ip 并查看他的提供商所在的位置。我认为有一些商业 ip 解析服务可以达到这个目的。
  • 而且我认为“在他​​们不知情的情况下”重定向是不可能的。如果您通过 header("Location :.....") 在 php 中重定向,您的用户将看到主机在他的浏览器中发生了变化。如果您通过 .htaccess 中的 mod_rewrite 进行重定向,他很可能也会看到它。

标签: php .htaccess


【解决方案1】:

据我所知,.htaccess 无法完成。

你需要使用 php 来做一些 geoip 位置,检测国家,然后用 301 重定向做一个简单的 php header("Location") 更改。

这是一个不错的免费数据库:http://ipinfodb.com/ip_database.php

您只需将其导入数据库并使用 php 查询即可。

【讨论】:

    【解决方案2】:

    您需要一个 GEO IP 查找工具,例如 http://www.hostip.info/use.html

    你可以在 php 中使用他们的服务——你的 index.php 会像这样:

    $r = file_get_contents("http://api.hostip.info/get_html.php?ip=12.215.42.1");
    

    另外,一种更快的方法是从 max mind 购买 ip 数据库列表(价格为 50 美元)。 http://www.maxmind.com/app/country 然后,您只需查询该数据库(在将其加载到 mysql 之后)并根据国家/地区添加它们。

    【讨论】:

      猜你喜欢
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2019-04-15
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多