x__miller_x
@x__miller_x

Как перенаправлять с основного сайта на мобильный и обратно?

Доброго вечера!
Столкнулся с такой проблемой: есть основной сайт, недавно сделали мобильную версию на отдельном поддомене. Разработчик добавил скрипт, где определялся тип устройства, и человек перекидывался (или не перекидывался на мобильную версию). Все бы ничего, но если ему вдруг нужно перейти на полную версию сайта? То как тут быть? Я нашел такое решение:
<?php

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$mobile = strpos($_SERVER['HTTP_USER_AGENT'],"Mobile");
$symb = strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");
$operam = strpos($_SERVER['HTTP_USER_AGENT'],"Opera M");
$htc = strpos($_SERVER['HTTP_USER_AGENT'],"HTC_");
$fennec = strpos($_SERVER['HTTP_USER_AGENT'],"Fennec/");
$winphone = strpos($_SERVER['HTTP_USER_AGENT'],"WindowsPhone");
$wp7 = strpos($_SERVER['HTTP_USER_AGENT'],"WP7");
$wp8 = strpos($_SERVER['HTTP_USER_AGENT'],"WP8");

if($ipad || $iphone || $ipod || $android || $symb || $operam || $htc || $winphone || $berry) {
    if(isset($_REQUEST['ver']) and $_REQUEST['ver'] === 'full') {
        if(empty($_COOKIE['ver']))
            setcookie('ver', 'full', time() + 86400, '/', '.site.ru');
    } else {
        header('Location: http://m.site.ru');
        exit;
    }
} 

?>

Но возникает проблема на телефонах и пишется, что страницу не удалось загрузить из-за слишком большого числа редиректов. Подскажите пожалуйста, как можно решить эту проблему? Или другое решение?

Заранее спасибо

UPD1: я вообще думаю, что алгоритм должен быть следующий:
1. Проверяем, есть ли кука:
1.1 да:
1.1.1 "мобильный" - редирект на мобильную страницу
1.1.2 "десктопный" - редирект на десктопную страницу
1.2 нет:
1.2.0 определяем тип устройства:
1.2.1 мобилка - ставим куку "мобильный", редиректим на мобильную страницу
1.2.2 десктоп - ставим куку "десктопный", редиректим на десктопную страницу

Тогда в этом случае можно вручную поставить нужную куку, чтобы с мобилки заходить на десктоп, и с десктопа - на мобилку. Вопрос, как это реализовать с помощью волшебства php?

27c229196dcb4fb189cd1ba03307c855.png
  • Вопрос задан
  • 744 просмотра
Пригласить эксперта
Ответы на вопрос 2
Вы же этот код в большую версию сайта встроили?
Тогда при переходе на него с мобильной версии просто добавляйте аргумент ver=full
И там с кукой что-то не доделано. Она ставится когда надо, но не проверяется.
Ответ написан
header('Location: http://m.site.ru/');попробуй. Может поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы