下面这个是能判断的,但是出现一个问题,就是ios版本的UC浏览器出现了一个极速模式,切换到了极速模式就判断不出来了。现在想单独判断UC浏览器下进行跳转。
$userAgent = $_SERVER['HTTP_USER_AGENT'];
if(strpos($userAgent,"iPhone") || strpos($userAgent,"iPad") || strpos($userAgent,"iPod")){
header("location:http://www.baidu.com");
}else if(strpos($userAgent,"Android")){
header("location:http://www.google.com");
}
------解决方案--------------------
echo $_SERVER['HTTP_USER_AGENT'];
贴出结果
------解决方案--------------------
如版主,输入结果。 可以试下找 IUC 字符
------解决方案--------------------
很怀念的问题...几年前和你一样在思考类似的问题
判断iPhone版的UC...大概意思是在做软件站或广告页面之类的吧...
不管是UC还是safari...要获取UA都不是百分百可以截取到的.
现在回忆不起来了,但有几个思路可能对你有帮助
1.部分版本UC浏览器在第一次访问和第二次访问的IP有所不同,一般认为是浏览器设置的问题,UC一般默认开启软件设置中的中转或web压缩等情况.safari或其他手机自带浏览器则不会有这问题.可使用跳转(不是页面301),是JS的延迟跳转或wml中的延迟跳转.可以获取到不同的IP.你可以自己做试验.
2.UC浏览器大部分都默认开启代理等设置. 你所说的极速模式,估计也类似代理.访问后的IP和手机的CMWAP或CMNET或WIFI形式链接下的IP不一致(可用自带浏览器作比较),大部分为广东或北京等地区IP,记得以前推断是UC中转服务器的IP.你可以做个数据表记录下这些IP,如果是通过这些IP访问的,基本上都可判断为UC浏览器
3.通过UA来判断的精确度十分低,如果做开发的精确度要求较高,那么编写起来的逻辑也不能太简单.不止是UA.还可以通过HTTP_X_NETWORK_INFO,HTTP_X_UP_CALLING_LINE_ID,DEVICEID,HTTP_X_UP_SUBNO,HTTP_VIA等等
希望对你有帮助.
------解决方案--------------------
UC有代理的似乎。