模块 ngx_http_browser_module

Example Configuration
Directives
     ancient_browser
     ancient_browser_value
     modern_browser
     modern_browser_value

ngx_http_browser_module模块创建变量,其值取决于“User-Agent”请求标头字段的值:

$modern_browser
如果浏览器被识别为现代浏览器,则 等于modern_browser_value指令 设置的值;
$ancient_browser
如果浏览器被识别为古老,则 等于cient_browser_value指令 设置的值;
$msie
如果浏览器被识别为任何版本的 MSIE,则等于“1”。

配置示例

选择索引文件:

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 string ...;
默认:
语境: http, server,location

如果在“User-Agent”请求标头字段中找到任何指定的子字符串,则浏览器将被视为古老的。特殊字符串“ netscape4”对应正则表达式“ ^Mozilla/[1-4]”。

句法: ancient_browser_value string;
默认:
ancient_browser_value 1;
语境: http, server,location

设置变量的值$ancient_browser

句法: modern_browser browser version;
modern_browser unlisted;
默认:
语境: http, server,location

指定浏览器从哪个版本开始被视为现代浏览器。浏览器可以是以下任意一种:msiegecko(基于 Mozilla 的浏览器)、 operasafarikonqueror

可以按以下格式指定版本:X、XX、XXX 或 XXXX 每种格式的最大值分别为 4000、4000.99、4000.99.99 和 4000.99.99.99。

特殊值unlisted指定如果浏览器未在 modern_browsercient_browser 指令中列出,则将其视为现代浏览器。否则这样的浏览器就被认为是古老的。如果请求未在标头中提供“User-Agent”字段,则浏览器将被视为未列出。

句法: modern_browser_value string;
默认:
modern_browser_value 1;
语境: http, server,location

设置变量的值$modern_browser