浏览器相关模块(Browser)


·摘要

这个模块按照请求头中的“User-agent”来创建一些变量:
·$modern_browser - 如果浏览器被识别为一个当前流行的浏览器,这个值等于指令modern_browser_value指定的值。
·$ancient_browser - 如果浏览器被识别为一个比较旧的浏览器,这个值等于指令ancient_browser_value指定的值。
·$msie - 如果浏览器被识别为MSIE,这个值为1。
如果不需要这个模块,可以在编译nginx时增加--without-http_browser_module参数。
配置实例:
为指定的浏览器指定主页文件:
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 line [ line... ]
默认值:no
使用字段:http, server, location
在"User-agent"字段中的浏览器被识别为旧浏览器时,这个指令指定一些子链。
一个比较特殊的字段是"netscape4",它对应正则表达式"^Mozilla/[1-4] "。

ancient_browser_value

语法:ancient_browser_value line
默认值:ancient_browser_value 1
使用字段:http, server, location
指定变量$ancient_browser的值。

modern_browser

语法:modern_browser browser version|unlisted
默认值:no
使用字段: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 unlisted”)。

modern_browser_value

语法:modern_browser_value line
默认值:modern_browser_value 1
使用字段:http, server, location
指定$modern_browser变量的值。

·示例配置

示例配置:仅支持最近版本的Chrome, Firefox, Internet Explorer, Safari, Mobile Safari和Palm Pre。

·参考文档

Original Documentation
Nginx Http Browser Module

前进->字符集设置模块(Charset)