Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

Битрикс. Полная версия/Мобильная версия сайта : Программирование

28.03.2024 17:57


14.07.2014 10:38
aldemko
 
Доброго времени суток.
Искал решение для авто перенаправления на мобильную версию сайта
Нашел
modausa.ru:
пример
если зайдете с мобильного устройства попадете на поддомен /m

Скриптик:
if(
strpos($_SERVER['REQUEST_URI'], '/m/') !== 0
&& (
strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone')
|| strstr($_SERVER['HTTP_USER_AGENT'],'iPod')
|| strstr($_SERVER['HTTP_USER_AGENT'],'Android')
)
) {
header("Location: /m/");
die();
}


вставить нужно в файл dbconn.php
находящийся в папке /bitrix/php_interface/

Может пригодится кому

PS думаю подойдет и под другие CMS
14.07.2014 14:12
twix
 
Это не поддомен, а просто папка/директория. Путь в файловой системе изначально. В современном мире часто не имеет ничего общего с самой ФС, обрабатываясь маршрутизатором вэб сервера.
Забрать можно, в принципе, где угодно. Но, имхо, способ определения мобильного браузер не самый лучший. Вернее, самый примитивный и ограниченный. В нете полно реализаций гибче и точнее.
15.07.2014 02:50
aldemko
 
Это папка а не поддомен только до того времени пока ее не прописать днс.
а по поводу способов, могли бы поделится более изящным
15.07.2014 06:10
twix
 
Цитата:
aldemko Это папка а не поддомен только до того времени пока ее не прописать днс.
Вот здесь:

Цитата:
strpos($_SERVER['REQUEST_URI'], '/m/') !== 0
извлекается значение . Последний, в соответствии со спецификацией, может содержать в себе и доменное имя, однако переменная REQUEST_URI в PHP содержит относительный идентификатор документа/ресурса, а не абсолютный. Это раз.

Цитата:
header("Location: /m/");
Перенаправит клиента по относительтному пути /m/ от корня (домена). Это два.
Прописать путь в невозможно, потому что именной сервер заведует доменами, а не файлами.

Ну, и для того, чтобы превратить эту папку/УРИ/флажок (называйте как хотите) в поддомен, резолвящийся через DNS, необходимо помимо A-записи создать ещё и виртуальный хост вэб-сервера с соответствующим ServerName, и редиректить клиента на m.<my>.<domain>.

Цитата:
aldemko а по поводу способов, могли бы поделится более изящным
Изящный способ мне не известен. Но я одно время использовал практически универсальный, который отлично "ловил" и топовые смартфоны, и быдлозвонилки с оперой мини. Правда, внешне он был корявым - состоял из пары дюжин взаимоисключающих условий. Но, раз уж интерес появился, рекомендую взглянуть на это:
30.07.2014 02:57
aldemko
 
Доброго времени суток
Спустя некоторое время тестов, пришел к выводу что скрипт описанный в первом посту не есть эффективен.
Почему?
1. После установки скрипта - не возможно зайти в админ панель, логин и пароль вводишь и все серый фон.
2. После попытки перейти с мобильной версии на полную (с мобильного устройства) обратно кидает на мобильную версию
ищу более действенные методы для решения задачи
30.07.2014 08:11
OlegON
 
Серый фон, это скорее всего ошибка какая-то, в журнал php и веб-сервера посмотри.
А перекидывает - поставь при ручном переходе на полную в параметры что-то вроде forcefull и отключай перебрасывание при этом параметре.
Часовой пояс GMT +3, время: 17:57.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.