Nginx

ngx_http_browser_module

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 string ;
默认:
语境:http,服务器,位置

如果在“User-Agent”请求头字段中找到任何指定的子字符串,则浏览器将被视为古代。特殊字符串“ netscape4”对应于正则表达式“ ^Mozilla/[1-4]”。

句法: ancient_browser_value string ;
默认:ancient_browser_value 1;
语境:http,服务器,位置

$ancient_browser变量设置一个值。

句法:modern_browser浏览器版本;未列出的modern_browser;
默认:
语境:http,服务器,位置

指定从中开始浏览器被认为是现代的版本。浏览器可以是下列中的任何一个:msiegecko(基于Mozilla浏览器), operasafarikonqueror

可以使用以下格式指定版本:X,XX,XXX或XXXX每种格式的最大值分别为4000,4000.99,4000.99.99和4000.99.99.99。

如果没有列出modern_browser和ancient_browser指令,未列出的特殊值指定将浏览器视为现代。 否则,这种浏览器被认为是古老的。 如果请求未在头中提供“用户代理”字段,则浏览器将被视为未列出。

句法:modern_browser_value字符串;
默认:modern_browser_value 1;
语境:http,服务器,位置

$modern_browser变量设置一个值。