Переключение на мобильную версию

Тема в разделе "Как сделать...", создана пользователем anadikt, 2 июн 2014.

  1. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    391
    Симпатии:
    58
    Доброго времени суток, подскажите как сделать так, чтобы пользователь заходя на сайт site.ru с мобильного устройства переходил на поддомен, к примеру: pda.site.ru
     
  2. inturned

    inturned Webmaster & Designer

    Регистр.:
    7 ноя 2011
    Сообщения:
    525
    Симпатии:
    235
    Через HTTP_USER_AGENT, ну как пример:
    PHP:
    <?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 || $android || $palmpre || $ipod || $berry || $mobile || $symb || $operam || $htc || $fennec || $winphone || $wp7 || $wp8 === true) {
        
    header('Location: http://pda.site.ru');
    }

    ?>
    Как-то так
     
    MadChild и anadikt нравится это.
  3. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.038
    PHP:
    function check_smartphone() {

        if ( 
    $_SESSION['mobile_enable'] ) return true//Проверяем принудительное включение

        
    $phone_array = array('iphone''android''pocket''palm''windows ce''windowsce''mobile windows''cellphone''opera mobi''operamobi''ipod''small''sharp''sonyericsson''symbian''symbos''opera mini''nokia''htc_''samsung''motorola''smartphone''blackberry''playstation portable''windows phone'); //Список мобильных агентов (маски)
        
    $agent strtolower$_SERVER['HTTP_USER_AGENT'] ); //Переводим юзерагент в нижний регистр

        
    foreach ($phone_array as $value) { //Проходим по массиву

            
    if ( strpos($agent$value) !== false ) return true//Если совпадение по маске есть - отдаём истину

        
    }

        return 
    false;

    }
    //Проверяем, включена ли мобильная версия и нет ли отметки об отключении пользователем
    if ( $config['allow_smartphone'] AND !$_SESSION['mobile_disable'] ) {

        if ( 
    check_smartphone() ) { // вызов функции проверки

            
    header("Location: http://www.example.com/"); //Редиректим

        
    }

    }
    готовая функция из ДЛЕ. На удивление - ошибок срабатывания почти нет.
     
    Последнее редактирование: 5 июн 2014
    MadChild и anadikt нравится это.
  4. NDK13

    NDK13 Создатель

    Регистр.:
    31 авг 2012
    Сообщения:
    36
    Симпатии:
    14
    Сервис определения мобильных устройств http://api.yandex.ru/detector/
    • модель и производитель;

    • разрешение экрана;

    • разновидность используемой платформы и тип дистрибутива J2ME (4 категории);

    • возможности Java-приложений (доступ к камере и файловой системе устройства, тип корневого сертификата и размер значка приложения).
     
    MadChild и anadikt нравится это.
  5. SidexQX

    SidexQX Создатель

    Регистр.:
    10 фев 2007
    Сообщения:
    42
    Симпатии:
    6
    У Гугла был похожий сервис, может кто подсказать адрес? Не могу найти.