Browser#

该模块创建的变量值依赖于 User-Agent 请求头字段的值。

当 从源代码构建 时,该模块默认会被构建;可以通过 构建选项 --without-http_browser_module 禁用它。

在来自 我们的软件仓库 的包和镜像中,该模块已包含在 构建中。

变量#

$ancient_browser#

如果识别为古老浏览器,则等于由 ancient_browser_value 指令设置的值;

$modern_browser#

如果识别为现代浏览器,则等于由 modern_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#

语法

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 变量设置值。