Перенаправление на другую версию сайта по стране происхождения

У меня есть два сайта, один для США, который находится в корне домена .com, и у меня есть копия сайта в каталоге / uk, предназначенная для клиентов из Великобритании.

Вот код, который я настроил, который отлично работает, когда я использую тестовую пустую страницу php, которую я использую с классом Geoplugin.

<?php ob_start();?>
<?php require_once('geoplugin.class.php');$geoplugin = new geoPlugin(); ?>
<?php $country = $geoplugin->locate();?>

<?php
$countryName= $geoplugin->countryName ;
$ukCountry = 'http://www.mywebsite.com/uk/';
$mainSite = 'http://www.mywebsite.com/';//UK
if ($countryName =="United Kingdom")
{

header('Location: '.$ukCountry);
}else{

header('Location: '.$mainSite);

?>

Я подключаюсь к вышеупомянутой странице через оператор включения и отлично работает в качестве теста.

Но я хочу, чтобы посетитель зашел на основной сайт, а затем проверил страну происхождения и, если это Великобритания, переходит к британской версии.

Я хочу установить это на сайт WordPress, но когда я размещаю оператор include, я получаю сообщение об ошибке

Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены

Я много читал о буферизации вывода, и я попробовал несколько вещей, чтобы заставить его работать, но я не могу заставить его правильно пересылать.

Я знаю, что есть шанс бесконечного цикла с приведенным выше кодом, но я уберу оператор else, если это остановить.

По сути, я хочу, чтобы сайт проверял страну Великобритания, если это так, перешли на сайт Великобритании, а если нет, просто загрузите страницу в обычном режиме.

Любые предложения приветствуются.

0

Решение

Прежде всего вы можете использовать Maxmind для геотаргетинга.
Затем создайте plug_in в словесном режиме и используйте систему HOOK в рабочем режиме, чтобы взломать код с помощью init Hook.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]