FAQ

Page Discussion Edit History

NginxHttpBrowserModule

Contents

Edit section: Synopsis Synopsis

This module creates variables, the values of which depend on the request header "User-agent":

  • $modern_browser - is equal to the value, assigned by directive modern_browser_value, if browser is identified as an modern browser;
  • $ancient_browser - is equal to the value, assigned by directive ancient_browser_value, if browser is identified as an old browser;
  • $msie - is equal 1, if browser is identified as MSIE with any version;

If you don't need this module add --without-http_browser_module parameter to the ./configure call, at compile time.

Example configuration

Selection of the index file:

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;

Redirect for the old browsers:

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;
}

Edit section: Directives Directives

Edit section: ancient_browser ancient_browser

syntax: ancient_browser line [ line... ]

default: no

context: http, server, location

Directive assigns the substrings, during presence of which in the line "User-agent", browser are considered as old.
Special line "netscape4" corresponds to regular expression "^Mozilla/[1-4] ".


Edit section: ancient_browser_value ancient_browser_value

syntax: ancient_browser_value line

default: ancient_browser_value 1

context: http, server, location

Directive assigns value for the variables $ancient_browser.


Edit section: modern_browser modern_browser

syntax: modern_browser browser version|unlisted

default: no

context: http, server, location

Directive assigns which version of the browser is to be considered as modern.
As browser you can assign the values msie, gecko (Mozilla-based browsers) opera, safari, konqueror.

Of versions it is possible to assign in size X, X.X, X.X.X, or X.X.X.X. maximum values for each of their sizes respectively - 4000, 4000.99, 4000.99.99, and 4000.99.99.99.

Special value "unlisted" indicates to consider modern browser, not described by the modern_browser and ancient_browser directives.
If the headers do not contain "User-agent", the browser is considered ancient (unless "modern_browser unlisted" is specified).


Edit section: modern_browser_value modern_browser_value

syntax: modern_browser_value line

default: modern_browser_value 1

context: http, server, location

Directive assigns value for the variables $modern_browser.

Edit section: Examples Examples

Example of use: support only recent versions of Chrome, Firefox, Internet Explorer, Safari, Mobile Safari and Palm Pre

Edit section: References References

Original Documentation new since 26.09.2006 version 0.4.3