ngx_http_browser_module

ngx_http_browser_module 模块创建值由 User-Agent 请求头域决定的变量:

  • $modern_browser

    如果浏览器被识别为现代,则等于 modern_browser_value 指令设置的值

  • $ancient_browser

    如果浏览器被识别为古代,则等于由 ancient_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

指定将浏览器视为现代版本开始的版本。浏览器可以是以下任何一种: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 指令指定,则将其视为现代浏览器。否则被认为是传统浏览器。如果请求没有在头中提供 User-Agent 域,则浏览器被视为未列出。

modern_browser_value

- 说明
语法 modern_browser_value string;
默认 modern_browser_value 1;
上下文 http、server、location

设置 $modern_browser 变量的值。

最后编辑: kuteng  文档更新时间: 2021-11-01 16:44   作者:kuteng