Сайт редиректится 6 раз, прежде, чем установить куки

Есть сайт shtory-i-karnizy.ru, на нем происходит автоматическое определение геолокации по IP (с помощью SXGeo) и перенаправление на соответствующий домен (с записью в куки). Во-первых, сайт перезагружается 6 раз на домене shtory-i-karnizy.ru, прежде чем направить меня на поддомен моего города. Куки записываются только на последней перезагрузке, соответственно. Во-вторых, записываются куки для двух доменов: shtory-i-karnizy.ru и <поддомен>.shtory-i-karnizy.ru, а в основной еще и в двух видах - с точкой и без точки (см. скриншот), и один другой не перезаписывает. введите сюда описание изображения

Код отработки SXGeo находится в footer.php:

if (empty($_COOKIE['city'])) {
    $SxGeo = new SxGeo($_SERVER['DOCUMENT_ROOT']. '/sxgeo/SxGeoCity.dat', SXGEO_BATCH | SXGEO_MEMORY);
    $res = $SxGeo->getCityFull($_SERVER['REMOTE_ADDR']);
    $myCity = $res['city']['name_ru'];
    $myCityEng = mb_strtolower($res['city']['name_en']);
    if ($myCity == 'Санкт-Петербург') {
        $myCityEng = 'spb';
    }
    $myRegion = $res['region']['name_ru'];
    $myAddress = $adArr[$myCity];
    if (($myCity != 'Тула') && ($myCity != 'Калуга')) {
        $thisDomain = $myCityEng.'.shtory-i-karnizy.ru';
    } else {
        $thisDomain = 'shtory-i-karnizy.ru';
    }
    
    setrawcookie('city', $myCity, time()+31536000, 'shtory-i-karnizy.ru');
    setcookie('regionalDomain', $thisDomain, time()+31536000, 'shtory-i-karnizy.ru');
    setrawcookie('addr', $myAddress, time()+31536000, 'shtory-i-karnizy.ru');
    // header('Location: http://'.$_COOKIE['regionalDomain']);
} else {
    $myCity = $_COOKIE['city'];
    $myAddress = $adArr[$myCity];
}

Чуть ниже в нем же (footer.php) редирект:

<?php
if ((!empty($_COOKIE['regionalDomain'])) && ($_SERVER[HTTP_HOST] != $_COOKIE['regionalDomain'])) {
    ?>
        <script type="text/javascript">
                    var $regionalDomain = 'https://' + cookie('regionalDomain');
                    window.location.href = $regionalDomain;
        </script>
    <?php } ?>

Логика простая: если куки пустые - определяем по IP город (записываем в переменную city) и домен к нему (записываем в regionalDomain), при следующей перезагрузке они уже должны быть непустые, и произойти перенаправление на нужный поддомен, но это происходит четко на шестой раз. Прошу помощи.


Ответы (0 шт):