Mercurial > hg > nginx-site
comparison xml/ru/docs/http/ngx_http_ssi_module.xml @ 76:4a4caa566120
Russian documentation import.
Changes in module.dtd: <example> now allowed to contain <value> and
<emphasis> elements (we need this to show important parts in examples),
less strict checking of <directive> syntax (we don't want to fully
document some directives, notably deprecated ones).
Known issues:
1. <syntax> elements are preserved as is, they will require manual conversion
(likely to some not-yet-existed format a la DocBook cmdsynopsis, as
currently used one seems to be incomplete);
2. <value> no longer corresponds to replaceable content, and it's use in
examples isn't correct;
3. <link doc="document#fragment"> doesn't work with current xslt, either
should be supported or changed to <link doc="document" id="fragment">.
The following files are intentionally omitted: maillists.xml (support.xml
should be used instead), experimental.xml (obsolete), faq.xml (conflicts
with existing one, needs discussion).
Not yet linked to site.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 11 Oct 2011 12:57:50 +0000 |
parents | |
children | c76a257f3fd4 |
comparison
equal
deleted
inserted
replaced
75:2bf4cd2787c5 | 76:4a4caa566120 |
---|---|
1 <?xml version="1.0" encoding="utf-8"?> | |
2 | |
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | |
4 | |
5 <module name="Директивы модуля ngx_http_ssi_module" | |
6 link="/ru/docs/http/ngx_http_ssi_module.html" | |
7 lang="ru"> | |
8 | |
9 <section name="" id="summary"> | |
10 | |
11 <para> | |
12 Модуль ngx_http_ssi_module — фильтр, обрабатывающий команды SSI (Server | |
13 Side Includes) в проходящих через него ответах. | |
14 На данный момент список поддерживаемых команд SSI неполон. | |
15 </para> | |
16 | |
17 </section> | |
18 | |
19 | |
20 <section name="Пример конфигурации" id="example"> | |
21 | |
22 <para> | |
23 <example> | |
24 location / { | |
25 ssi on; | |
26 ... | |
27 } | |
28 </example> | |
29 </para> | |
30 | |
31 </section> | |
32 | |
33 | |
34 <section name="Директивы" id="directives"> | |
35 | |
36 <directive name="ssi"> | |
37 <syntax>ssi <value>[on|off]</value></syntax> | |
38 <default>ssi off</default> | |
39 <context>http, server, location, if в location</context> | |
40 | |
41 <para> | |
42 Директива разрешает обработку команд SSI в ответах. | |
43 </para> | |
44 | |
45 </directive> | |
46 | |
47 | |
48 <directive name="ssi_silent_errors"> | |
49 <syntax>ssi_silent_errors <value>[on|off]</value></syntax> | |
50 <default>ssi_silent_errors off</default> | |
51 <context>http, server, location</context> | |
52 | |
53 <para> | |
54 Директива разрешает не выводить строку | |
55 "[an error occurred while processing the directive]", | |
56 если во время обработки SSI произошла ошибка. | |
57 </para> | |
58 | |
59 </directive> | |
60 | |
61 | |
62 <directive name="ssi_types"> | |
63 <syntax>ssi_types <value>mime-тип [mime-тип ...]</value></syntax> | |
64 <default>ssi_types text/html</default> | |
65 <context>http, server, location</context> | |
66 | |
67 <para> | |
68 Разрешает обработку команд SSI в ответах с указанными MIME-типами в дополнение | |
69 к "text/html". | |
70 </para> | |
71 | |
72 </directive> | |
73 | |
74 </section> | |
75 | |
76 | |
77 <section name="Команды SSI" id="commands"> | |
78 | |
79 <para> | |
80 Формат команды следующий | |
81 <example> | |
82 <!--# команда параметр1=значение параметр2=значение ... --> | |
83 </example> | |
84 </para> | |
85 | |
86 <para> | |
87 Ниже перечислены поддерживаемые команды: | |
88 <list type="bullet"> | |
89 | |
90 <listitem> | |
91 <emphasis>block</emphasis> — команда описывает блок, который можно использовать | |
92 как заглушку в команде include. | |
93 Внутри блока могут быть команды SSI. | |
94 | |
95 <list type="bullet"> | |
96 <listitem> | |
97 <emphasis>name</emphasis> — имя блока. | |
98 </listitem> | |
99 </list> | |
100 | |
101 Пример использования: | |
102 <example> | |
103 <!--# block name="one" --> | |
104 заглушка | |
105 <!--# endblock --> | |
106 </example> | |
107 | |
108 </listitem> | |
109 | |
110 <listitem> | |
111 <emphasis>config</emphasis> — команда задаёт некоторые параметры при обработке SSI. | |
112 | |
113 <list type="bullet"> | |
114 <listitem> | |
115 <emphasis>errmsg</emphasis> — строка, выводящаяся при ошибке во время обработки | |
116 SSI. По умолчанию используется такая строка: | |
117 <example> | |
118 [an error occurred while processing the directive] | |
119 </example> | |
120 </listitem> | |
121 | |
122 <listitem> | |
123 <emphasis>timefmt</emphasis> — строка, используемая функцией strftime(3) | |
124 для вывода дат и времени. | |
125 По умолчанию используется такой формат: | |
126 <example> | |
127 "%A, %d-%b-%Y %H:%M:%S %Z" | |
128 </example> | |
129 Для вывода времени в секундах подходит формат "%s". | |
130 </listitem> | |
131 </list> | |
132 | |
133 </listitem> | |
134 | |
135 | |
136 <listitem> | |
137 <emphasis>echo</emphasis> — команда выводит значение переменной. | |
138 | |
139 <list type="bullet"> | |
140 <listitem> | |
141 <emphasis>var</emphasis> — имя переменной. | |
142 </listitem> | |
143 | |
144 <listitem> | |
145 <emphasis>encoding</emphasis> — способ кодирования. | |
146 Возможны три значения — none, url и entity. | |
147 По умолчанию используется entity. | |
148 </listitem> | |
149 | |
150 <listitem> | |
151 <emphasis>default</emphasis> — нестандартный параметр, задающий строку, | |
152 которая выводится, если переменная не опеределена. | |
153 По умолчанию выводится строка "none". Команда | |
154 <example> | |
155 <!--# echo var="name" default="<emphasis>нет</emphasis>" --> | |
156 </example> | |
157 заменяет такую последовательность команд | |
158 <example> | |
159 <!--# if expr="$name" --><!--# echo var="name" --><!--# | |
160 else --><emphasis>нет</emphasis><!--# endif --> | |
161 </example> | |
162 </listitem> | |
163 </list> | |
164 | |
165 </listitem> | |
166 | |
167 | |
168 <listitem> | |
169 <emphasis>if</emphasis> — команда выполняет условное включение. | |
170 Поддерживаются следующие команды: | |
171 <example> | |
172 <!--# if expr="..." --> | |
173 ... | |
174 <!--# elif expr="..." --> | |
175 ... | |
176 <!--# else --> | |
177 ... | |
178 <!--# endif --> | |
179 </example> | |
180 На данный момент поддерживаются только один уровень вложенности. | |
181 | |
182 <list type="bullet"> | |
183 <listitem> | |
184 <emphasis>expr</emphasis> — выражение. | |
185 В выражении может быть проверка существования переменной: | |
186 <example> | |
187 <!--# if expr="$name" --> | |
188 </example> | |
189 сравнение переменной с текстом: | |
190 <example> | |
191 <!--# if expr="$name = text" --> | |
192 <!--# if expr="$name != text" --> | |
193 </example> | |
194 или с регулярным выражением: | |
195 <example> | |
196 <!--# if expr="$name = /text/" --> | |
197 <!--# if expr="$name != /text/" --> | |
198 </example> | |
199 Если в text встречаются переменные, то производится подстановка их значений. | |
200 </listitem> | |
201 </list> | |
202 | |
203 </listitem> | |
204 | |
205 | |
206 <listitem> | |
207 <emphasis>include</emphasis> — команда включает в ответ результат другого запроса. | |
208 | |
209 <list type="bullet"> | |
210 <listitem> | |
211 <emphasis>file</emphasis> — задаёт включаемый файл, например: | |
212 <example> | |
213 <!--# include file="footer.html" --> | |
214 </example> | |
215 </listitem> | |
216 | |
217 <listitem> | |
218 <emphasis>virtual</emphasis> — задаёт включаемый запрос, например: | |
219 <example> | |
220 <!--# include virtual="/remote/body.php?argument=value" --> | |
221 </example> | |
222 Несколько запросов на одной странице, обрабатываемые через прокси или FastCGI, | |
223 работают параллельно. Если нужно последовательная обработка, то нужно | |
224 воспользоваться параметром wait. | |
225 </listitem> | |
226 | |
227 <listitem> | |
228 <emphasis>stub</emphasis> — нестандартный параметр, задающий имя блока, | |
229 содержимое которого будет выведено, если тело ответа на включаемый запрос | |
230 пустое или при исполнении запроса произошла ошибка, например: | |
231 <example> | |
232 <!--# block name="one" -->&nbsp;<!--# endblock --> | |
233 <!--# include virtual="/remote/body.php?argument=value" stub="one" --> | |
234 </example> | |
235 при этом содержимое замещающего блока обрабатывается в контексте включаемого | |
236 запроса. | |
237 </listitem> | |
238 | |
239 <listitem> | |
240 <emphasis>wait</emphasis> — нестандартный параметр, указывающий, нужно ли ждать | |
241 полного исполнения данного запроса, прежде чем продолжать выполнение | |
242 SSI, например: | |
243 <example> | |
244 <!--# include virtual="/remote/body.php?argument=value" wait="yes" --> | |
245 </example> | |
246 </listitem> | |
247 | |
248 <listitem> | |
249 <emphasis>set</emphasis> — нестандартный параметр, указывающий, что удачный | |
250 результат выполнения запроса нужно записать в заданную переменную, | |
251 например: | |
252 <example> | |
253 <!--# include virtual="/remote/body.php?argument=value" set="one" --> | |
254 </example> | |
255 Необходимо учитывать, что в переменные можно записать только результаты | |
256 ответов, полученные через модули | |
257 ngx_http_proxy_module и ngx_http_memcached_module. | |
258 </listitem> | |
259 | |
260 </list> | |
261 | |
262 </listitem> | |
263 | |
264 <listitem> | |
265 <emphasis>set</emphasis> — команда присваивает значение переменной. | |
266 | |
267 <list type="bullet"> | |
268 <listitem> | |
269 <emphasis>var</emphasis> — имя переменной. | |
270 </listitem> | |
271 | |
272 <listitem> | |
273 <emphasis>value</emphasis> — значение переменной. Если в присваиваемом значении | |
274 есть переменные, то производится подстановка их значений. | |
275 </listitem> | |
276 </list> | |
277 | |
278 </listitem> | |
279 | |
280 </list> | |
281 </para> | |
282 | |
283 </section> | |
284 | |
285 | |
286 <section name="Встроенные переменные" id="variables"> | |
287 | |
288 <para> | |
289 Модуль ngx_http_ssi_module поддерживает две встроенные переменные: | |
290 <list type="bullet"> | |
291 | |
292 <listitem> | |
293 $date_local, эта переменная равна текущему времени в локальной временной зоне. | |
294 Формат даты задаётся командой config с параметром timefmt. | |
295 </listitem> | |
296 | |
297 <listitem> | |
298 $date_gmt, эта переменная равна текущему времени в GMT. | |
299 Формат даты задаётся командой config с параметром timefmt. | |
300 </listitem> | |
301 | |
302 </list> | |
303 </para> | |
304 | |
305 </section> | |
306 | |
307 </module> |