当他使用iPhone时,有没有办法将用户重定向到子域,然后在使用android时重定向到不同的子域,这全部使用php?
答案 0 :(得分:1)
是的,您可以使用$ _SERVER全局数组来检测有关请求的各种信息,例如请求标头。特别是,您可以解析用户代理字符串以确定连接到PHP应用程序的浏览器,并根据此信息重定向。
PHP get_browser函数文档here有一个很好的例子:
<?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
希望这有帮助!
答案 1 :(得分:0)
我相信你正在寻找php的get_browser和$_SERVER。
其中任何一个或两个都可以帮助您确定访问者正在使用的浏览器。从那里开始,只需向header发送适当的位置即可。