перенаправление на основе устройства (на стороне сервера) - PullRequest
1 голос
/ 13 марта 2012

Есть ли способ перенаправить пользователя на поддомен, когда он использует iPhone, а затем перенаправить на другой поддомен, когда он использует Android, все это с помощью php?

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Да, вы можете использовать глобальный массив $ _SERVER для обнаружения различной информации о запросе, такой как заголовки запроса. В частности, вы можете проанализировать строку User Agent, чтобы определить браузер, подключающийся к вашему PHP-приложению, и перенаправить на основе этой информации.

Документация по функции PHP get_browser здесь имеет хороший пример:

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

Используя вышеизложенное, вы можете создать свои собственные функции, такие как isAndroid или isIphone, для обнаружения мобильного устройства по строке пользовательского агента.

function isAndroid()
{
    if(preg_match('/android/i', $browser))
        return true;
    return false;
}

function isIphone()
{
    if(preg_match('/iphone/i', $browser))
        return true;
    return false;
}

Для справки, строка агента пользователя iPhone будет выглядеть примерно так: Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a

И строка пользовательского агента Android будет выглядеть так: Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17

Надеюсь, это поможет!

0 голосов
/ 13 марта 2012

Я полагаю, что вы ищете php get_browser и $ _ SERVER .

Любой из них или оба из них помогут вам определить, какой браузер использует посетитель.Оттуда, это просто вопрос отправки header с соответствующим местоположением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...