簡體   English   中英

nginx映射正則表達式以檢測舊的Android瀏覽器

[英]nginx map regex to detect old android browsers

我有以下地圖nginx設置:

map $http_user_agent $old_browser {
    default 0;
    "~Android [1-2]\." 1;
    "~Mozilla.*Firefox/1[0-9]\." 1;
    "~Chrome/2[0-9]\." 1;
    "~AppleWebKit.*Version/[1-4]\..*Safari" 1;
}   

我想使用此設置重定向舊的Android瀏覽器,但是在Android 4.2.2上對其進行測試時,$ old_browser被標記為1。為什么?

這是完整的用戶代理

Mozilla/5.0(Linux; U; Android 4.2.2; en-us; SM-T110 Build/JDQ39) 
AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

以下正則表達式有什么問題:

"~Android [1-2]\."

為什么與Android 4.2.2匹配

這匹配:“ 〜AppleWebKit* Version / [1-4] .. * Safari ” 1;

Mozilla / 5.0(Linux; U; Android 4.2.2; zh-cn; SM-T110 Build / JDQ39) AppleWebKit /534.30(KHTML,like Gecko) Version / 4 .0 Mobile Safari /534.30

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM