Nginx 從 User-agent 判斷手機的訪問頁面

2016-09-26 Nginx

最近有一個工作需求是希望針對手機的使用者訪問需要給一個不同的頁面,而這個站台網頁版 & 手機版是不同的開發網站,為了實現這個需求使用了子網域切割為 m.domain.com 作為手機版本網站,並且必須使用 Nginx 判斷使用者的來路 User-Agent 使其進到 m.domain.com

 

從 Nginx 的方面可以使用 if 判斷後進行 rewrite

server {

...

    if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {
        set $mobile_request '1';
    }

    if ($mobile_request = '1') {
        rewrite ^.+ http://m.domain.com$uri;
    }
}

 

 

針對 User-Agent 的部份可以查看各大瀏覽器針對 iOS / Android ..  等等行動裝置定義的 UA

 

Chrome – User Agent Strings

 

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱