comparison xml/ru/docs/http/ngx_http_map_module.xml @ 572:17ceffcc7ffb

Brought the ngx_http_map_module documentation up to date.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 05 Jul 2012 13:15:08 +0000
parents 9913f1d51c07
children be54c443235a
comparison
equal deleted inserted replaced
571:71d775bef043 572:17ceffcc7ffb
30 example.org 2; 30 example.org 2;
31 *.example.org 2; 31 *.example.org 2;
32 .example.net 3; 32 .example.net 3;
33 wap.* 4; 33 wap.* 4;
34 } 34 }
35
36 map $http_user_agent $mobile {
37 default 0;
38 "~Opera Mini" 1;
39 }
35 </example> 40 </example>
36 </para> 41 </para>
37 42
38 </section> 43 </section>
39 44
40 45
41 <section id="directives" name="Директивы"> 46 <section id="directives" name="Директивы">
42 47
43 <directive name="map"> 48 <directive name="map">
44 <syntax block="yes"> 49 <syntax block="yes">
45 <value>$переменная1</value> 50 <value>строка</value>
46 <value>$переменная2</value></syntax> 51 <value>$переменная</value></syntax>
47 <default/> 52 <default/>
48 <context>http</context> 53 <context>http</context>
49 54
50 <para> 55 <para>
51 Создаёт переменную, значение которой 56 Создаёт новую переменную, значение которой
52 зависит от значения исходной переменной. 57 зависит от значений одной или более исходных переменных,
53 Директива поддерживает три специальных параметра: 58 указанных в первом параметре.
59 <note>
60 До версии 0.9.0 в качестве первого параметра можно было
61 указать только одну переменную.
62 </note>
63 </para>
64
65 <para>
66 Параметры внутри блока <literal>map</literal> задают соответствие
67 между исходными и результирующими значениями.
68 </para>
69
70 <para>
71 Исходные значения задаются строками или регулярными выражениями (0.9.6).
72 </para>
73
74 <para>
75 Перед регулярным выражением ставится символ “<literal>~</literal>”,
76 если при сравнении следует учитывать регистр символов, либо символы
77 “<literal>~*</literal>” (1.0.4), если регистр символов учитывать не нужно.
78 Регулярное выражение может содержать именованные и позиционные выделения,
79 которые могут затем использоваться в других директивах совместно с
80 результирующей переменной.
81 </para>
82
83 <para>
84 Если исходное значение совпадает с именем одного из специальных параметров
85 (см. ниже), перед ним следует поставить символ “<literal>\</literal>”.
86 </para>
87
88 <para>
89 В качестве результирующего значения можно указать строку
90 или другую переменную (0.9.0).
91 </para>
92
93 <para>
94 Директива также поддерживает три специальных параметра:
54 <list type="tag"> 95 <list type="tag">
55 <tag-name><literal>default</literal> <value>значение</value></tag-name> 96 <tag-name><literal>default</literal> <value>значение</value></tag-name>
56 <tag-desc> 97 <tag-desc>
57 задаёт значение для второй переменной, если значение 98 задаёт результирующее значение, если исходное значение не
58 первой переменной не найдено. 99 совпадает ни с одним из перечисленных.
100 Если параметр <literal>default</literal> не указан, результирующим значением
101 по умолчанию будет пустая строка.
59 </tag-desc> 102 </tag-desc>
60 103
61 <tag-name><literal>hostnames</literal></tag-name> 104 <tag-name><literal>hostnames</literal></tag-name>
62 <tag-desc> 105 <tag-desc>
63 указывает, что в качестве исходных значений можно 106 указывает, что в качестве исходных значений можно
73 </example> 116 </example>
74 можно использовать одну: 117 можно использовать одну:
75 <example> 118 <example>
76 .example.com 1; 119 .example.com 1;
77 </example> 120 </example>
121 Этот параметр следует указывать перед списком значений.
78 </tag-desc> 122 </tag-desc>
79 123
80 <tag-name><literal>include</literal> <value>файл</value></tag-name> 124 <tag-name><literal>include</literal> <value>файл</value></tag-name>
81 <tag-desc> 125 <tag-desc>
82 включает файл со значениями. 126 включает файл со значениями.
83 Включений может быть несколько. 127 Включений может быть несколько.
84 </tag-desc> 128 </tag-desc>
129
130 </list>
131 </para>
132
133 <para>
134 Если исходному значению соответствует несколько из указанных вариантов,
135 например, одновременно подходят и маска, и регулярное выражение,
136 будет выбран первый подходящий вариант в следующем порядке приоритета:
137 <list type="enum">
138
139 <listitem>
140 строковое значение без маски
141 </listitem>
142
143 <listitem>
144 самое длинное строковое значение с маской в начале,
145 например “<literal>*.example.com</literal>”
146 </listitem>
147
148 <listitem>
149 самое длинное строковое значение с маской в конце,
150 например “<literal>mail.*</literal>”
151 </listitem>
152
153 <listitem>
154 первое подходящее регулярное выражение
155 (в порядке следования в конфигурационном файле)
156 </listitem>
157
158 <listitem>
159 значение по умолчанию (<literal>default</literal>)
160 </listitem>
85 161
86 </list> 162 </list>
87 </para> 163 </para>
88 164
89 </directive> 165 </directive>