根据位置重定向某些网址
Redirect certain urls based on location
我的 (Joomla 3.4) 网站上有许多指向 Amazon UK 的链接 - 这些是购买书籍的链接。它们基本上是 'Buy Now' 按钮,可将用户带到相关的亚马逊英国商品页面(例如 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>
我知道我可以再添加一个按钮 ('Buy US'),但我只希望每页有一个按钮。
虽然我可以修改 .htaccess
文件,或者添加一些 javascript 代码,这样来自美国的访问者将被带到 .com
而不是 .co.uk
?
我正在查看 geoPlugin and IP2Location - 可以使用其中之一或这些来实现此目的吗?
也许我可以以某种方式修改 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;
}
?>
不确定用户服务器端如何实现这一点?
感谢任何帮助或指导,我很想自学。
您可以在 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;
}
我的 (Joomla 3.4) 网站上有许多指向 Amazon UK 的链接 - 这些是购买书籍的链接。它们基本上是 'Buy Now' 按钮,可将用户带到相关的亚马逊英国商品页面(例如 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>
我知道我可以再添加一个按钮 ('Buy US'),但我只希望每页有一个按钮。
虽然我可以修改 .htaccess
文件,或者添加一些 javascript 代码,这样来自美国的访问者将被带到 .com
而不是 .co.uk
?
我正在查看 geoPlugin and IP2Location - 可以使用其中之一或这些来实现此目的吗?
也许我可以以某种方式修改 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;
}
?>
不确定用户服务器端如何实现这一点?
感谢任何帮助或指导,我很想自学。
您可以在 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;
}