редирект на мобильную версию сайта

B
На сайте с 04.09.2007
Offline
105
5408

Добрый день!

Интересует каким образом можно сделать редирект для мобильных устройств на другую версию сайта

.htacess не катит т.к. потом у пользователя если к примеру зашел с планшета нет возможности вернуться на полную версию т.к. его через .htaccess опять перенаправляет на мобильную и получается замкнутый круг

нашел вот такую конструкцию в интернете, но что-то она у меня не работает, может кто подскажет в чем проблема?

<?php

$url = 'http://phd.yandex.net/detect';

$query = http_build_query(
array(
'user-agent' => $_SERVER['HTTP_USER_AGENT']
)
);


$responce = file_get_contents($url . '?' . $query);
preg_match('/(?<=<yandex-mobile-info-error>).*(?=<\/yandex-mobile-info-error>)/', $responce, $match);

if (isset($match) && $match[0] != 'Unknown user agent and wap profile') {
header("Location: http://pda.site.ru/", true, 301);
}
?>
дешевые авиабилеты (https://www.avia-tickets.by/) для самостоятельных путешествий (http://samostoyatelnye-puteshestviya.ru/).
nikonlay
На сайте с 11.12.2006
Offline
183
#1

не совсем понял ваш пример, но, если основываться на нем, то я бы переписал короче:


if ($_SERVER('HTTP_USER_AGENT') == 'iPhone') header("Location: http://pda.site.ru/");
Мощные бинокли и монокуляры: https://market.yandex.ru/store--volny-i-veter?businessId=79203856
Mik Foxi
На сайте с 02.03.2011
Offline
1165
#2

вы решили мобильных юзеров на вирусы сливать? если нет, то просто сделаете на сайте ссылку заметную на мобильную версию и все. кому надо - тот сам перейдет, но как показывает практика: 99% мобильных версий сайтов полная искалеченная фигня, которой пользоваться невозможно и все нормальные юзеры будут все равно юзать полную версию даже с телефона.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ Форум на замену серчу: https://foxi.biz/
M5
На сайте с 12.08.2009
Offline
221
M25
#3

У яндекса для этого есть хорошее api http://api.yandex.ru/detector/

► Рейтинг серверов — ТОП10 ◄
md5by
На сайте с 30.12.2011
Offline
68
#4
foxi:
вы решили мобильных юзеров на вирусы сливать?

На подписки :)))) 🍿

B
На сайте с 04.09.2007
Offline
105
#5
foxi:
вы решили мобильных юзеров на вирусы сливать? если нет, то просто сделаете на сайте ссылку заметную на мобильную версию и все. кому надо - тот сам перейдет, но как показывает практика: 99% мобильных версий сайтов полная искалеченная фигня, которой пользоваться невозможно и все нормальные юзеры будут все равно юзать полную версию даже с телефона.

Большинство пользователей считает так же как вы, и не переходит на моб версию, а после заполнения формы заказа на обычной версии никак не может понять почему не работает, а на pda версии форма заказа специально для мобил

nikonlay:
не совсем понял ваш пример, но, если основываться на нем, то я бы переписал короче:

форум порезал код примера *** поэтому и не понятно, но ни ваш, ни мой не работают ни под андроидом ни под iOS ((

S1
На сайте с 28.03.2010
Offline
72
#6
bankirfans:
Большинство пользователей считает так же как вы, и не переходит на моб версию, а после заполнения формы заказа на обычной версии никак не может понять почему не работает, а на pda версии форма заказа специально для мобил



форум порезал код примера *** поэтому и не понятно, но ни ваш, ни мой не работают ни под андроидом ни под iOS ((

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

Можно организовать проверку определенных функций через javascript, и отключать, в случае необходимости, функции(отправка и валидация формы через ajax и т.д.) .Тогда проблем на сайте не должно быть.

Ну а если делать, то согласен с пользователем M25, у них достаточно хорошее api по определению мобильной платформы.

ICQ: 3533966 | Skype: spider13software | E-Mail: admin@spider13.net | Telegram: spider13software| Разработчик Node.js (https://spider13.net/) | Заметки онлайн (https://notes.spider13.net/)
melkozaur
На сайте с 06.04.2010
Offline
526
#7
bankirfans:
на pda версии форма заказа специально для мобил

Вы себя загоняете в ловушку такими методами.

Там что, кнопка отправки супер-хитрая, что на мобилах не работает?

B
На сайте с 04.09.2007
Offline
105
#8

Вопрос был как реализовать, спасибо всем пытавшимся помочь!

T
На сайте с 19.12.2006
Offline
101
#9

Качаем скрипт с

http://mobiledetect.net

далее в коде:

//detect mobile or classic device

require_once('Mobile_Detect.php');

$oDeviceDetect = new Mobile_Detect();

$vIsMobile = $oDeviceDetect->isMobile() ? true : false;

Ну и потом эту переменную использовать.

if ($vIsMobile) {

header("Location: http://pda.site.ru/", true, 301);

exit;

}

nikonlay
На сайте с 11.12.2006
Offline
183
#10

да я потому и сделал круглые скобки, тк смотрю - квадратные почему-то режет.

кстати, раньше же вроде нормально было, никто не замечал?

вот так будет работать под айфон:

if ($_SERVER['HTTP_USER_AGENT'] == 'iPhone') header("Location: http://www.myfon.ru/");

под андроид, соотвественно, его юзер агент

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий