Module ngx_http_browser_module

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

$modern_browser

$ancient_browser

$msie

  • 如果浏览器被识别为任何版本的 MSIE,则等于“ 1”。

Example Configuration

选择索引文件:

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;
}

Directives

Syntax:ancient_browser string ...;
Default:
Context:http , server , location

如果在“用户代理”请求 Headers 字段中找到任何指定的子字符串,则该浏览器将被认为是古老的。特殊字符串“ netscape4”对应于正则表达式“ ^Mozilla/[1-4]”。

Syntax:ancient_browser_value string;
Default:ancient_browser_value 1;
Context:http , server , location

设置$ancient_browser变量的值。

Syntax:modern_browser browser version;

modern_browser unlisted;
默认值:
上下文: httpserverlocation

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

可以使用以下格式指定版本:X,X.X,X.X.X 或 X.X.X.X。每种格式的最大值分别为 4000、4000.99、4000.99.99 和 4000.99.99.99.

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

Syntax:modern_browser_value string;
Default:modern_browser_value 1;
Context:http , server , location

设置$modern_browser变量的值。