2015-07-28 9 views
1

У меня есть ряд ссылок на Amazon UK на моем сайте (Joomla 3.4) - это ссылки для покупки книг. Они в основном кнопки «Купить сейчас», которые принимают пользователей к соответствующей странице пункт Amazon UK (например www.amazon.co.uk/myBook) - HTML код нижеПеренаправить определенные URL-адреса на основе местоположения

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

То, что я хотел бы сделать это снова -direct США посетителей www.amazon.com

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

Я знаю, что я мог бы просто добавить еще одну кнопку («Купи США»), но я хочу только одну кнопку на странице.

Возможно, я мог бы либо изменить файл .htaccess, либо добавить код javascript для того, чтобы викторины от нас будут приняты до .com, а не .co.uk?

Я смотрел на geoPlugin и 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; 
} 
?> 

Не знаете, как я могу использовать серверную часть пользователя для достижения этого?

Любая помощь или направление приветствуются, я очень хочу учиться самостоятельно.

+0

Вы, вероятно, будет необходимо изменить содержание так что переменная '<а href' указывает на сайт .com. Потому что, как только кто-то нажимает на сайт '.co.uk', он полностью из ваших рук. –

+1

Существует прокси-сервер HTML, который вы можете настроить для динамического изменения содержимого ваших страниц, но проблема заключается в содержании, а не в htaccess. Если я нажму ссылку на google.com, мой браузер отправится прямо на google.com, не заботятся о вашем файле htaccess. –

+0

Несколько строк, если JavaScript на вашей странице будет делать то, что вы хотите, но закройте это как не вещь Apache, если только вы не сходите по динамическому маршруту страницы. – arober11

ответ

1

Вы можете редактировать /index.php в Joomla, чтобы, как показано ниже:

$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; 
}