ngx_http_browser_module 模块

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

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

  • $ancient_browser 如果浏览器被标识为旧浏览器,则等于由 ancient_browser_value 指令设置的值;

  • $msie 如果浏览器被识别为任何版本的 MSIE(IE浏览器),则等于 “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” 请求头字段中找到任何指定的子字符串,则浏览器将被认为是旧的。特殊字符串 “netscape 4” 对应于正则表达式 “^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或Konquor。

可以使用以下格式指定版本: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 变量的值。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号