я следующая установка карты Nginx: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
В regex '[1-2]' соответствует одному символу в диапазоне от 1 до 2. Он не должен соответствовать 4. – bloodyKnuckles
@bloodyKnuckles Я на самом деле не хочу, чтобы он соответствовал, но что это вместо этого он соответствует ему – adit