У меня есть два сайта, один для США, который находится в корне домена .com, и у меня есть копия сайта в каталоге /uk, предназначенная для клиентов из Великобритании.
Вот код, который я настроил, который отлично работает, когда я использую тестовую пустую php-страницу, которую я использую с классом геоплагина.
<?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, но когда я помещаю оператор «включить», я получаю сообщение об ошибке
Предупреждение. Невозможно изменить информацию заголовка — заголовки уже отправлены
Я много читал о буферизации вывода, и я пробовал несколько вещей, чтобы заставить его работать, но я не могу заставить его правильно пересылать его.
Я знаю, что есть вероятность бесконечного цикла с приведенным выше кодом, но я удалю оператор else, если это остановит.
По сути, я хочу, чтобы сайт проверял, что страна - Великобритания, если так, то вперед на сайт Великобритании, а если нет, просто загружайте страницу нормально.
Любые предложения приветствуются.