日期:2014-05-17  浏览次数:20456 次

如何识别为手机端访问?

NGINX服务器可否实现识别手机端访问,然后再rewrite一下?

如果是PHP文件本身识别,那就是通过请求的头部信息了,对吧。。但这样的跳转不好吧。

------解决方案--------------------

function isMobile() {       
    $user_agent = $_SERVER['HTTP_USER_AGENT'];       
    $mobile_agents = Array("240x320", "acer", "acoon",   
        "acs-", "abacho", "ahong", "airness", "alcatel",   
        "amoi", "android", "anywhereyougo.com",   
        "applewebkit/525", "applewebkit/532", "asus",   
        "audio", "au-mic", "avantogo", "becker", "benq",   
        "bilbo", "bird", "blackberry", "blazer", "bleu",   
        "cdm-", "compal", "coolpad", "danger", "dbtel",   
        "dopod", "elaine", "eric", "etouch", "fly ",   
        "fly_", "fly-", "go.web", "goodaccess",   
        "gradiente", "grundig", "haier", "hedy",   
        "hitachi", "htc", "huawei", "hutchison",   
        "inno", "ipad", "ipaq", "ipod", "jbrowser",   
        "kddi", "kgt", "kwc", "lenovo", "lg ", "lg2",   
        "lg3", "lg4", "lg5", "lg7", "lg8", "lg9", "lg-",   
        "lge-", "lge9", "longcos", "maemo", "mercator",   
        "meridian", "micromax", "midp", "mini", "mitsu",   
        "mmm", "mmp", "mobi", "mot-", "moto", "nec-",   
        "netfront", "newgen", "nexian", "nf-browser",   
        "nintendo", "nitro", "nokia", "nook", "novarra",   
        "obigo", "palm", "panasonic", "pantech", "philips",   
        "phone", "pg-", "playstation", "pocket", "pt-",   
        "qc-", "qtek", "rover", "sagem", "sama", "samu",   
        "sanyo", "samsung", "sch-", "scooter", "sec-",   
        "sendo", "sgh-", "sharp", "siemens", "sie-",   
        "softbank", "sony", "spice", "sprint", "spv",   
        "symbian", "tablet", "talkabout", "