模块 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
变量设置一个值。