模块 ngx_http_browser_module
| ancient_browser ancient_browser_value modern_browser modern_browser_value 的配置 Directives 示例 |
这ngx_http_browser_modulemodule 创建变量
其值取决于 “User-Agent” 的值
请求标头字段:
$modern_browser- 等于 modern_browser_value Directives设置的值, 如果浏览器被识别为新式浏览器;
$ancient_browser- 等于 ancient_browser_value Directives设置的值, 如果浏览器被识别为旧浏览器;
$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;
}
Directives
| 语法: |
ancient_browser |
|---|---|
| 默认值: | — |
| 上下文: |
http,server,location |
如果在 “User-Agent” 中找到任何指定的子字符串
request header 字段,则浏览器将被视为旧浏览器。
特殊字符串”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 Directives。
否则,此类浏览器被视为过时。
如果请求未提供 “User-Agent” 字段
在标题中,浏览器被视为未列出。
| 语法: |
modern_browser_value |
|---|---|
| 默认值: |
modern_browser_value 1; |
| 上下文: |
http,server,location |
设置$modern_browser变量。