幸福日记

nginx中文文档-ngx_http_browser_module

ngx_http_browser_module模块创建了基于浏览器User-Agent的变量,支持以下变量:

$modern_browser
等于modern_browser_value指令设置的值,如果浏览器被定义为现代浏览器。

$ancient_browser
等于ancient_browser_value指令设置的值,如果浏览器被定义为古老浏览器。

$msie
等于“1”,如果是任意版本的IE浏览器。
示例配置

选择一个索引文件:

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

语法:ancient_browser string
默认:—
上下文:http, server, location

如果请求头域“User-Agent”值的任意子串包含定义的字符串,会被认为是古老的浏览器。特殊的字符串“netscape4”相当于正则表达式“^Mozilla/[1-4]”。

ancient_browser_value

语法:ancient_browser_value string
默认:ancient_browser_value 1
上下文:http, server, location

设置$ancient_browser变量的值

modern_browser

语法:modern_browser browser version
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 string
默认:modern_browser_value 1
上下文:http, server, location

设置$modern_browser变量的值。

退出移动版