|
The ngx_http_browser_module module creates variables
whose values depend on the value of the “User-Agent”
request header field:
$modern_browser
-
equals to the value set by the modern_browser_value directive,
if a browser was identified as modern;
$ancient_browser
-
equals to the value set by the ancient_browser_value directive,
if a browser was identified as ancient;
$msie
-
equals “1” if a browser was identified as MSIE of any version.
Example Configuration
Choosing an 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;
Redirection for 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;
}
Directives
|
syntax:
|
ancient_browser string ...;
|
|
default:
|
—
|
|
context:
|
http, server, location
|
If any of the specified substrings is found in the “User-Agent”
request header field, a browser will be considered ancient.
The special string “netscape4” corresponds to the
regular expression “^Mozilla/[1-4]”.
|
syntax:
|
ancient_browser_value string;
|
|
default:
|
ancient_browser_value 1;
|
|
context:
|
http, server, location
|
Sets a value for the $ancient_browser variables.
|
syntax:
|
modern_browser browser version;
modern_browser unlisted;
|
|
default:
|
—
|
|
context:
|
http, server, location
|
Specifies a version starting from which a browser is considered modern.
A browser can be any one of the following: msie,
gecko (browsers based on Mozilla),
opera, safari,
or konqueror.
Versions can be specified in the following formats: X, X.X, X.X.X, or X.X.X.X.
The maximum values for each of the format are
4000, 4000.99, 4000.99.99, and 4000.99.99.99, respectively.
The special value unlisted specifies to consider
a browser as modern if it was not listed by the
modern_browser and ancient_browser
directives.
Otherwise such a browser is considered ancient.
If a request does not provide the “User-Agent” field
in the header, a browser is treated as not being listed.
|
syntax:
|
modern_browser_value string;
|
|
default:
|
modern_browser_value 1;
|
|
context:
|
http, server, location
|
Sets a value for the $modern_browser variables.
|