一些Nginx的高级扩展应用总结(2)

nginx判断手机移动设备用户的方法

有两种方法

一种是用语言进行判断,比如用php的 $_SERVER['User-Agent']

<?php 
 
function is_mobile(){ 
 
    // returns true if one of the specified mobile browsers is detected 
 
    $regex_match="/(nokia|iphone|Android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|"; 
    $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|"; 
    $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";     
    $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|"; 
    $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220"; 
    $regex_match.=")/i";         
    return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); 

 
/* 
allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests: 
 
include likes to both versions of the site w/ the special force mode parameters, 'mobile' and 'full': 
 
<a href="View'>?mobile">View Mobile Site</a> 
<a href="View'>?full">View Full Site</a> 
 
Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions: 
*/ 
 
if ($_GET['mobile']) { 
 $is_mobile = true; 

 
if ($_GET['full']) { 
 $is_mobile = false; 

if($is_mobile) { 
    //it's a mobile browser, do something 
    header("Location: "); 
} else { 
    //it's not a mobile browser, do something else 
    header("Location: "); 
    // or instead of a redirect, simply build html below 

 
?> 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d08111330442f67e5100d9316607d3d6.html