模块 ngx_http_browser_module

示例配置
指令
     ancient_browser
     ancient_browser_value
     modern_browser
     modern_browser_value

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 字符串 ...;
默认值
上下文 httpserverlocation

如果在“User-Agent”请求头字段中找到任何指定子字符串,则浏览器将被视为旧浏览器。特殊字符串“netscape4”对应于正则表达式“^Mozilla/[1-4]”。

语法 ancient_browser_value 字符串;
默认值
ancient_browser_value 1;
上下文 httpserverlocation

$ancient_browser 变量设置一个值。

语法 modern_browser 浏览器 版本;
modern_browser unlisted;
默认值
上下文 httpserverlocation

指定从哪个版本开始将浏览器视为现代浏览器。浏览器可以是以下任何一种:msiegecko(基于 Mozilla 的浏览器)、operasafarikonqueror

版本可以使用以下格式指定:X、X.X、X.X.X 或 X.X.X.X。每种格式的最大值分别为 4000、4000.99、4000.99.99 和 4000.99.99.99。

特殊值 unlisted 指定将浏览器视为现代浏览器,如果它未在 modern_browserancient_browser 指令中列出。否则,此类浏览器将被视为旧浏览器。如果请求未在头中提供“User-Agent”字段,则浏览器将被视为未列出。

语法 modern_browser_value 字符串;
默认值
modern_browser_value 1;
上下文 httpserverlocation

$modern_browser 变量设置一个值。