comparison xml/cn/docs/http/ngx_http_map_module.xml @ 792:ceb8a4e374b7

Updated the Chinese documentation.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 25 Dec 2012 06:34:37 +0000
parents
children
comparison
equal deleted inserted replaced
791:15f2bab0740d 792:ceb8a4e374b7
1 <?xml version="1.0"?>
2
3 <!--
4 Copyright (C) Igor Sysoev
5 Copyright (C) Nginx, Inc.
6 -->
7
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9
10 <module name="Module ngx_http_map_module"
11 link="/cn/docs/http/ngx_http_map_module.html"
12 lang="cn"
13 translator="yzprofile"
14 rev="1">
15
16 <section id="summary">
17
18 <para>
19 模块 <literal>ngx_http_map_module</literal> 可以创建一些和另外变量相关联的变量。
20 </para>
21
22 </section>
23
24
25 <section id="example" name="配置范例">
26
27 <para>
28 <example>
29 map $http_host $name {
30 hostnames;
31
32 default 0;
33
34 example.com 1;
35 *.example.com 1;
36 example.org 2;
37 *.example.org 2;
38 .example.net 3;
39 wap.* 4;
40 }
41
42 map $http_user_agent $mobile {
43 default 0;
44 "~Opera Mini" 1;
45 }
46 </example>
47 </para>
48
49 </section>
50
51
52 <section id="directives" name="指令">
53
54 <directive name="map">
55 <syntax block="yes">
56 <value>string</value>
57 <value>$variable</value></syntax>
58 <default/>
59 <context>http</context>
60
61 <para>
62 在配置的参数中,第一个是要创建新的变量,它的值取决于后面一个或多个源变量。
63 <note>
64 在0.9.0版本之前,这里只支持一个变量。
65 </note>
66 </para>
67
68 <para>
69 在 <literal>map</literal> 块里的参数指定了源变量值和结果值的对应关系。
70 </para>
71
72 <para>
73 源变量值可以使用字符串或者正则表达式 (0.9.6)。
74 </para>
75
76 <para>
77 一个正则表达式如果以 “<literal>~</literal>” 开头,这个正则表达式对大小写敏感;
78 若以 “<literal>~*</literal>”开头 (1.0.4),这个正则表达式对大小写不敏感。
79 且正则表达式里可以包含命名捕获和位置捕获,这些变量可以跟结果变量一起被其它指令使用。
80 </para>
81
82 <para>
83 如果源变量的值正好跟特殊参数同名(看下面),它要以 “<literal>\</literal>” 字符作为前缀。
84 </para>
85
86 <para>
87 结果变量可以是一个字符串也可以是另外一个变量 (0.9.0)。
88 </para>
89
90 <para>
91 这个指令也支持三个特殊参数。
92 <list type="tag">
93 <tag-name><literal>default</literal> <value>value</value></tag-name>
94 <tag-desc>
95 如果源变量值没有匹配到任何变量,则设置一个默认值作为结果。
96 当没有设置 <literal>default</literal>,将会用一个空的字符串作为默认的结果。
97 </tag-desc>
98
99 <tag-name><literal>hostnames</literal></tag-name>
100 <tag-desc>
101 允许用前缀或者后缀掩码指定域名作为源变量值,举个例子,
102 <example>
103 *.example.com 1;
104 example.* 1;
105 </example>
106 这两条记录
107 <example>
108 example.com 1;
109 *.example.com 1;
110 </example>
111 可以被合并为:
112 <example>
113 .example.com 1;
114 </example>
115 这个参数必须写在值映射列表的最前面。
116 </tag-desc>
117
118 <tag-name><literal>include</literal> <value>file</value></tag-name>
119 <tag-desc>
120 包含一个或者多个存有映射值的文件。
121 </tag-desc>
122
123 </list>
124 </para>
125
126 <para>
127 如果源值匹配了多余一个的指定变量,例如掩码和正则同时匹配,那么将会按照下面的顺序进行优先选择:
128 <list type="enum">
129
130 <listitem>
131 没有掩码的字符串
132 </listitem>
133
134 <listitem>
135 最长的带前缀的字符串,例如: “<literal>*.example.com</literal>”
136 </listitem>
137
138 <listitem>
139 最长的带后缀的字符串,例如:“<literal>mail.*</literal>”
140 </listitem>
141
142 <listitem>
143 按顺序第一个先匹配的正则表达式 (在配置文件中体现的顺序)
144 </listitem>
145
146 <listitem>
147 默认值
148 </listitem>
149
150 </list>
151 </para>
152
153 </directive>
154
155
156 <directive name="map_hash_bucket_size">
157 <syntax><value>size</value></syntax>
158 <default>32|64|128</default>
159 <context>http</context>
160
161 <para>
162 为 <link id="map"/> 的变量哈稀表设置桶大小。
163 默认值取决于处理器cache line的大小。
164 可以从这里获取到更多参考信息:
165 <link doc="../hash.xml">设置哈稀表</link>.
166 </para>
167
168 </directive>
169
170
171 <directive name="map_hash_max_size">
172 <syntax><value>size</value></syntax>
173 <default>2048</default>
174 <context>http</context>
175
176 <para>
177 设置 <link id="map"/> 变量哈稀表<value>大小</value>的上限。
178 可以从这里获取到更多参考信息:
179 <link doc="../hash.xml">设置哈稀表</link>.
180 </para>
181
182 </directive>
183
184 </section>
185
186 </module>