模块 ngx_http_browser_module

ancient_browser
ancient_browser_value
modern_browser
modern_browser_value配置
Directives
示例

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

$modern_browser
等于 modern_browser_value Directives设置的值, 如果浏览器被识别为新式浏览器;
$ancient_browser
等于 ancient_browser_value Directives设置的值, 如果浏览器被识别为旧浏览器;
$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;
}

Directives

语法: ancient_browser string ...;
默认值:
上下文: http,server,location

如果在 “User-Agent” 中找到任何指定的子字符串 request header 字段,则浏览器将被视为旧浏览器。 特殊字符串”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

指定浏览器被视为新式浏览器的起始版本。 浏览器可以是以下任何一种: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_browserancient_browser Directives。 否则,此类浏览器被视为过时。 如果请求未提供 “User-Agent” 字段 在标题中,浏览器被视为未列出。

语法: modern_browser_value string;
默认值:
modern_browser_value 1;
上下文: http,server,location

设置$modern_browser变量。