模块 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 |
|---|---|
| 默认值 | — |
| 上下文 |
http, server, location |
如果在“User-Agent”请求头字段中找到任何指定的子字符串,该浏览器将被视为旧式浏览器。特殊字符串“netscape4”对应于正则表达式“^Mozilla/[1-4]”。
| 语法 |
ancient_browser_value |
|---|---|
| 默认值 |
ancient_browser_value 1; |
| 上下文 |
http, server, location |
为 $ancient_browser 变量设置值。
| 语法 |
modern_browser modern_browser |
|---|---|
| 默认值 | — |
| 上下文 |
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 1; |
| 上下文 |
http, server, location |
为 $modern_browser 变量设置值。