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

anadikt

Гуру форума
Регистрация
28 Янв 2010
Сообщения
433
Реакции
86
Доброго времени суток, подскажите как сделать так, чтобы пользователь заходя на сайт site.ru с мобильного устройства переходил на поддомен, к примеру: pda.site.ru
 
Доброго времени суток, подскажите как сделать так, чтобы пользователь заходя на сайт site.ru с мобильного устройства переходил на поддомен, к примеру: pda.site.ru

Через 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');
}

?>

Как-то так
 
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/"); //Редиректим

	}

}
готовая функция из ДЛЕ. На удивление - ошибок срабатывания почти нет.
 
Последнее редактирование:
Сервис определения мобильных устройств Для просмотра ссылки Войди или Зарегистрируйся
  • модель и производитель;

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

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

  • возможности Java-приложений (доступ к камере и файловой системе устройства, тип корневого сертификата и размер значка приложения).
 
У Гугла был похожий сервис, может кто подсказать адрес? Не могу найти.
 
Назад
Сверху