# HG changeset patch # User Ruslan Ermilov # Date 1341494108 0 # Node ID 17ceffcc7ffb43c9513ae35fc54a2ed9a8baa35e # Parent 71d775bef043050841e93dfc38f3da8e524adf93 Brought the ngx_http_map_module documentation up to date. diff -r 71d775bef043 -r 17ceffcc7ffb xml/en/docs/http/ngx_http_map_module.xml --- a/xml/en/docs/http/ngx_http_map_module.xml Thu Jul 05 13:13:45 2012 +0000 +++ b/xml/en/docs/http/ngx_http_map_module.xml Thu Jul 05 13:15:08 2012 +0000 @@ -32,6 +32,11 @@ .example.net 3; wap.* 4; } + +map $http_user_agent $mobile { + default 0; + "~Opera Mini" 1; +} @@ -42,20 +47,58 @@ - $variable1 - $variable2 + string + $variable http -Creates a variable whose value -depends on the value of another variable. -The directive supports three special parameters: +Creates a new variable whose value +depends on values of one or more of the source variables +specified in the first parameter. + +Before version 0.9.0 only a single variable could be +specified in the first parameter. + + + + +Parameters inside the map block specify a mapping +between source and resulting values. + + + +Source values are specified as strings or regular expressions (0.9.6). + + + +A regular expression should either start from the “~” +symbol for a case-sensitive matching, or from the “~*” +symbols (1.0.4) for case-insensitive matching. +A regular expression can contain named and positional captures +that can later be used in other directives along with the +resulting variable. + + + +If a source value matches one of the names of special parameters +(see below), it should be prefixed with the “\” symbol. + + + +The resulting value can be a string +or another variable (0.9.0). + + + +The directive also supports three special parameters: default value -sets a value for the second variable when the value -of the first variable cannot be found. +sets the resulting value if the source value matches none +of the specified variants. +When default is not specified, the default +resulting value will be an empty string. hostnames @@ -75,6 +118,7 @@ .example.com 1; +This parameter should be specified before the list of values. include file @@ -86,6 +130,38 @@ + +If the source value matches more than one of the specified variants, +e.g. both mask and regular expression match, the first matching +variant will be choosen, in the following order of precedence: + + + +string value without a mask + + + +longest string value with a prefix mask, +e.g. “*.example.com” + + + +longest string value with a suffix mask, +e.g. “mail.*” + + + +first matching regular expression +(in order of appearance in a configuration file) + + + +default value + + + + + diff -r 71d775bef043 -r 17ceffcc7ffb xml/ru/docs/http/ngx_http_map_module.xml --- a/xml/ru/docs/http/ngx_http_map_module.xml Thu Jul 05 13:13:45 2012 +0000 +++ b/xml/ru/docs/http/ngx_http_map_module.xml Thu Jul 05 13:15:08 2012 +0000 @@ -32,6 +32,11 @@ .example.net 3; wap.* 4; } + +map $http_user_agent $mobile { + default 0; + "~Opera Mini" 1; +} @@ -42,20 +47,58 @@ - $переменная1 - $переменная2 + строка + $переменная http -Создаёт переменную, значение которой -зависит от значения исходной переменной. -Директива поддерживает три специальных параметра: +Создаёт новую переменную, значение которой +зависит от значений одной или более исходных переменных, +указанных в первом параметре. + +До версии 0.9.0 в качестве первого параметра можно было +указать только одну переменную. + + + + +Параметры внутри блока map задают соответствие +между исходными и результирующими значениями. + + + +Исходные значения задаются строками или регулярными выражениями (0.9.6). + + + +Перед регулярным выражением ставится символ “~”, +если при сравнении следует учитывать регистр символов, либо символы +“~*” (1.0.4), если регистр символов учитывать не нужно. +Регулярное выражение может содержать именованные и позиционные выделения, +которые могут затем использоваться в других директивах совместно с +результирующей переменной. + + + +Если исходное значение совпадает с именем одного из специальных параметров +(см. ниже), перед ним следует поставить символ “\”. + + + +В качестве результирующего значения можно указать строку +или другую переменную (0.9.0). + + + +Директива также поддерживает три специальных параметра: default значение -задаёт значение для второй переменной, если значение -первой переменной не найдено. +задаёт результирующее значение, если исходное значение не +совпадает ни с одним из перечисленных. +Если параметр default не указан, результирующим значением +по умолчанию будет пустая строка. hostnames @@ -75,6 +118,7 @@ .example.com 1; +Этот параметр следует указывать перед списком значений. include файл @@ -86,6 +130,38 @@ + +Если исходному значению соответствует несколько из указанных вариантов, +например, одновременно подходят и маска, и регулярное выражение, +будет выбран первый подходящий вариант в следующем порядке приоритета: + + + +строковое значение без маски + + + +самое длинное строковое значение с маской в начале, +например “*.example.com” + + + +самое длинное строковое значение с маской в конце, +например “mail.*” + + + +первое подходящее регулярное выражение +(в порядке следования в конфигурационном файле) + + + +значение по умолчанию (default) + + + + +