Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Здравствуйте! Раньше были города в виде субдоменов, а теперь в виде папок на главном домене (реально они и раньше папками были, но через директивы в htaccess выводились поддоменами, включай мобильный поддомен).

Есть две части кода:

 /*

 * Этот код вставляется в начало Мобильной версии сайта.

 */

 // Основной домен, куда будет перекидывать по ссылке "на полную версию", если мы пришли прямо на мобильную,

 // а не через редирект с основного

 $main_domen = 'mydomain.ru';    $request = $_SERVER["REQUEST_URI"];    $delimiter = (empty($_SERVER["QUERY_STRING"])) ? '?' : '&';

    $request = str_replace('m/','',$request);

 // Если только что пришли с редиректа, записываем в куки откуда нас редиректило

 if (isset($_GET["from"])) {

 $ttl = 604800;        $href = $_GET["from"];

 setcookie("from", $_GET["from"], time()+$ttl);

 }

 // Тут формируется ссылка "На полную версию сайта" - нужно указать откуда (с какого поддомена) пришли.

 if (isset($_GET["from"])) {                    $request = str_replace('&from='.$href,'',$request);            $request = str_replace('?from='.$href,'',$request);

  // Читаем с get, если только что перешли            //$href = "https://".$href.$request.$delimiter."from_mobile=true";

  $anchor = '

  • Полная версия сайта >
  • ';

     } else {

     if($_COOKIE["from"]) {

      // читаем с куки, если перешли и походили по страницам

      $anchor = '

  • Полная версия сайта >
  • ';

     } else {

      // пришли напрямую на m.site.ru, ни куки ничего нету, потому site.ru придется вставить руками.

      $anchor = '

  • Полная версия сайта >
  • ';

     }

     }

    и

        /*

         * Этот код вставляется в начало основного сайта и поддоменов НЕ мобильной версии

         */

        include('Mobile_Detect.php');

        $detect = new Mobile_Detect;

        // Хост с мобильной версией (вписать свою)

        $mobile_host = 'm.mydomain.ru';

        $uri_request = $_SERVER["REQUEST_URI"];

        if(empty($_SERVER["HTTP_X_FORWARDED_HOST"]))

            $http_host = $_SERVER["HTTP_HOST"];

        else

        {

            $http_host    = $_SERVER["HTTP_X_FORWARDED_HOST"];

            $uri_city     = str_replace('.mydomain.ru','',$_SERVER["HTTP_X_FORWARDED_HOST"]);

            $uri_request  = str_replace($uri_city.'/','',$_SERVER["REQUEST_URI"]);

        }

        // Проверяем наличие GET-переменных в запросе

        $delimiter = (empty($_SERVER["QUERY_STRING"])) ? '?' : '&';

        // Формируем URL для редиректа

        $redirect = "http://$mobile_host".$uri_request.$delimiter."from=".$http_host."&srcity=".$srcity;

        $location = 'Location: '.$redirect;

        // Проверяем что мобильный, но не планшет

        if ($detect->isMobile() && !$detect->isTablet()) {

        //if (true && !$detect->isTablet()) {

            // Сначала проверим, не пришли ли с мобайл сайта по ссылке (get ?from_mobile=true),

            // Если да - создадим (обновим) куки.

            if ($_GET["from_mobile"]) {

                $ttl = 604800;

                setcookie("from_mobile", 'true', time()+$ttl);

            // Если пришли не по прямой ссылке, проверим нету ли у нас куки, что мы раньше приходили с мобайл сайта,

            // Если нет - делаем редирект.

            } else if (!isset($_COOKIE["from_mobile"])) {

                header($location);

            }

        }

    Сейчас надо чтобы как и раньше все работало только не надо учитывать с какого поддомена произошел редирект на мобильный субдомен. Но если возможно запомнить папку (соответствует городу) и переходить туда при клике на "переход на полную версию сайта".

    7 лет назад
    mchuk
    49 летГрузия
    16 лет в сервисе
    Был
    год назад
    Выбранный исполнитель
    barek
    26 летУкраина
    9 лет в сервисе
    Был
    3 года назад
    7 лет назад
    $5
    1 день
    Доволен сотрудничеством. Проект небольшой, но все равно сделан быстро и качественно.
    Адекватный заказчик который может дать конкретное ТЗ.