ngx_http_browser_module 模块创建变量,其值取决于 “User-Agent” 请求头字段的值:
$modern_browser 如果浏览器被识别为现代浏览器,则等于由 modern_browser_value 指令设置的
$ancient_browser 如果浏览器被标识为旧浏览器,则等于由 ancient_browser_value 指令设置的值;
$msie 如果浏览器被识别为任何版本的 MSIE(IE浏览器),则等于 “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 string ...; 默认值:— 上下文:http, server, location
如果在 “User-Agent” 请求头字段中找到任何指定的子字符串,则浏览器将被认为是旧的。特殊字符串 “netscape 4” 对应于正则表达式 “^Mozilla/[1-4]”。
语 法:ancient_browser_value string; 默认值:ancient_browser_value 1; 上下文:http, server, location
设置 $ancient_browser 变量的值。
语 法:modern_browser browser version; modern_browser unlisted; 默认值:— 上下文:http, server, location
指定浏览器从哪个版本开始被视为现代版本。浏览器可以是以下任意一种:MSIE、Gecko(基于Mozilla的浏览器)、Opera、Safari或Konquor。
可以使用以下格式指定版本: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 string; 默认值:modern_browser_value 1; 上下文:http, server, location
设置 $modern_browser 变量的值。