[Решено] Мобильный сайт с другой БД

Главные вкладки

Аватар пользователя greenzlat greenzlat 3 марта 2017 в 7:57

Есть сайт. Возникла необходимость сделать мобильную версию с другой БД.
Теперь задача сделать переброс автоматом с основного сайта на мобильный - если зашел с мобильного устройства - это реализовал модулем: mobile subdomain
Сделал редирект на m.site.ru. - Все работает. Но столкнулись с такой проблемой. Как с мобилы перейти на ПОЛНУЮ версию сайта? Ведь при переходе на полную версию - он все равно редиректит на мобильный.

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 3 марта 2017 в 9:52

Нужно выставлять переменную для версии в сессиии и делать её приоритетней чем mobile subdomain. Т.е снача проверять сессионную переменную если не установлено то определять по устройству.

Аватар пользователя greenzlat greenzlat 6 марта 2017 в 11:48

Ну делаю я ссылку на полную версию сайта в виде: site.com?mobile_off - перехожу все норм. Но как я только провалюсь в любую внутреннюю страницу основного сайта - модуль mobile subdomain меня опять перебросит на мобильную версию.

Аватар пользователя greenzlat greenzlat 7 марта 2017 в 8:06

Решил вопрос вот так:

<?php
$ipad 
strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
$iphone strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$ipod strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$android strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$symb strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");
$operam strpos($_SERVER['HTTP_USER_AGENT'],"Opera M");
$htc strpos($_SERVER['HTTP_USER_AGENT'],"HTC_");
$winphone strpos($_SERVER['HTTP_USER_AGENT'],"WindowsPhone");
$berry strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$palmpre strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$mobile strpos($_SERVER['HTTP_USER_AGENT'],"Mobile");
$fennec strpos($_SERVER['HTTP_USER_AGENT'],"Fennec/");
$wp7 strpos($_SERVER['HTTP_USER_AGENT'],"WP7");
$wp8 strpos($_SERVER['HTTP_USER_AGENT'],"WP8");
 
if(
$ipad || $iphone || $ipod || $android || $symb || $operam || $htc || $winphone || $berry || $palmpre || $mobile || $fennec || $wp7 || $wp8) {
    if(isset(
$_REQUEST['ver']) and $_REQUEST['ver'] === 'full') {
        if(empty(
$_COOKIE['ver']))
            
setcookie('ver''full'time() + 10'/''.site.com');
    } else {
        
header('Location: http://m.site.com');
        exit;
    }

?>