根据位置重定向某些网址

时间:2015-07-28 13:32:02

标签: javascript url geolocation server-side-includes

我的(Joomla 3.4)网站上有许多指向亚马逊英国的链接 - 这些是购买书籍的链接。它们基本上是“立即购买”。将用户带到相关亚马逊英国项目页面的按钮(例如www.amazon.co.uk/myBook) - 下面的html代码

<a class="btn btn-primary" href="http://www.amazon.co.uk/myBook...">Buy</a>

我想做的是将美国访客重新引导至www.amazon.com

<a class="btn btn-primary" href="http://www.amazon.com/myBook...">Buy</a>

我知道我可以添加另一个按钮(&#39;购买美国&#39;)但我每页只需要一个按钮。

我虽然可以修改.htaccess文件,或者添加一些javascript代码,以便我们的维护人员可以转到.com而不是.co.uk

我正在查看geoPluginIP2Location - 是否可以使用或者使用这些来实现此目的?

也许我可以以某种方式修改IP2Location代码(下面)?

<?php
require_once 'IP2Location.php';

$loc = new IP2Location('databases/IP-COUNTRY.BIN', IP2Location::FILE_IO);
$record = $loc->lookup($_SERVER['REMOTE_ADDR'], IP2Location::ALL);

if($record == 'US') {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://amazon.com');
    exit;
}
?>

我不确定用户服务器方面可以如何实现此目的?

感谢任何帮助或指导,我热衷于自己学习。

1 个答案:

答案 0 :(得分:1)

您可以在Joomla中编辑/index.php,如下所示:

$output = ob_get_clean();

require_once JPATH_LIBRARIES . '/IP2Location.php';

$db = new \IP2Location\Database('./databases/IP-COUNTRY-SAMPLE.BIN');
$records = $db->lookup($_SERVER['REMOTE_ADDR']);

if($records['countryCode'] == 'US'){
      echo str_replace('www.amazon.co.uk', 'www.amazon.com', $output);
}
else{
      echo $output;
}