Модуль ngx_http_browser_module
создаёт переменные, значения которых зависят от значения поля “User-Agent” в заголовке запроса:
$modern_browser
- равна значению, заданному директивой modern_browser_value, если браузер опознан как современный;
$ancient_browser
- равна значению, заданному директивой ancient_browser_value, если браузер опознан как устаревший;
$msie
- равна “1”, если браузер опознан как MSIE любой версии.
Пример конфигурации
Выбор индексного файла:
modern_browser_value "modern."; modern_browser msie 5.5; modern_browser gecko 1.0.0; modern_browser opera 9.0; modern_browser safari 413; modern_browser konqueror 3.0; index index.${modern_browser}html index.html;
Перенаправление для старых браузеров:
modern_browser msie 5.0; modern_browser gecko 0.9.1; modern_browser opera 8.0; modern_browser safari 413; modern_browser konqueror 3.0; modern_browser unlisted; ancient_browser Links Lynx netscape4; if ($ancient_browser) { rewrite ^ /ancient.html; }
Директивы
Синтаксис: | ancient_browser строка ...; |
---|---|
Умолчание: | — |
Контекст: | http , server , location |
Задаёт подстроки, при нахождении которых в поле “User-Agent” заголовка запроса браузер считается устаревшим. Специальная строка “netscape4
” соответствует регулярному выражению “^Mozilla/[1-4]
”.
Синтаксис: | ancient_browser_value строка; |
---|---|
Умолчание: |
ancient_browser_value 1; |
Контекст: | http , server , location |
Задаёт значение для переменных $ancient_browser
.
Синтаксис: | modern_browser браузер версия; modern_browser unlisted; |
---|---|
Умолчание: | — |
Контекст: | http , server , location |
Задаёт версию браузера, начиная с которой он считается современным. В качестве браузера можно задать msie
, gecko
(браузеры, созданные на основе Mozilla), opera
, safari
или konqueror
.
Версии можно задать в форматах X, X.X, X.X.X или X.X.X.X. Максимальные значения для каждого из форматов соответственно — 4000, 4000.99, 4000.99.99 и 4000.99.99.99.
Специальное значение unlisted
указывает считать современным браузер, не описанный директивами modern_browser
и ancient_browser. В противном случае неперечисленный браузер будет считаться устаревшим. Если в заголовке запроса нет поля “User-Agent”, то браузер считается неперечисленным.
Синтаксис: | modern_browser_value строка; |
---|---|
Умолчание: |
modern_browser_value 1; |
Контекст: | http , server , location |
Задаёт значение для переменных $modern_browser
.