annotate xml/ru/docs/http/ngx_http_rewrite_module.xml @ 2675:893cd7724c8c

Documented the "r" argument for js_body_filter.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 09 Mar 2021 18:44:56 +0000
parents dd78dd9e2cb7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 548
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 548
diff changeset
4 Copyright (C) Igor Sysoev
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 548
diff changeset
5 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 548
diff changeset
6 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 548
diff changeset
7
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
10 <module name="Модуль ngx_http_rewrite_module"
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 link="/ru/docs/http/ngx_http_rewrite_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
12 lang="ru"
2057
dd78dd9e2cb7 Corrected directive processing order in the rewrite module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1964
diff changeset
13 rev="9">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 108
diff changeset
15 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
18 Модуль <literal>ngx_http_rewrite_module</literal> позволяет
1723
065978f4ece1 Added info about PCRE in the rewrite module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1061
diff changeset
19 изменять URI запроса с помощью регулярных выражений PCRE, делать перенаправления
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
20 и выбирать конфигурацию по условию.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
21 </para>
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
22
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
23 <para>
2057
dd78dd9e2cb7 Corrected directive processing order in the rewrite module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1964
diff changeset
24 Директивы <link id="break"/>, <link id="if"/>, <link id="return"/>,
dd78dd9e2cb7 Corrected directive processing order in the rewrite module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1964
diff changeset
25 <link id="rewrite"/> и <link id="set"/>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
26 обрабатываются в следующем порядке:
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
27 <list type="bullet">
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
28
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
29 <listitem>
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
30 последовательно выполняются директивы этого модуля, описанные на уровне
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
31 <link doc="ngx_http_core_module.xml" id="server"/>;
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
32 </listitem>
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
33
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
34 <listitem>
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
35 в цикле:
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
36 <list type="bullet">
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
37
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
38 <listitem>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
39 ищется
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
40 <link doc="ngx_http_core_module.xml" id="location"/>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
41 по URI запроса;
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
42 </listitem>
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
43
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
44 <listitem>
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
45 последовательно выполняются директивы этого модуля,
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
46 описанные в найденном location;
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
47 </listitem>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
48
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
49 <listitem>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
50 цикл повторяется, если URI запроса <link id="rewrite">изменялся</link>,
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
51 но не более
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
52 <link doc="ngx_http_core_module.xml" id="internal">10 раз</link>.
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
53 </listitem>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
54
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
55 </list>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
56 </listitem>
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
57
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
58 </list>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
64 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 <directive name="break">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
67 <syntax/>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
68 <default/>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
69 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
70 <context>location</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
71 <context>if</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
74 Завершает обработку текущего набора директив модуля
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
75 <literal>ngx_http_rewrite_module</literal>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78 <para>
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
79 Если директива указана внутри
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
80 <link doc="ngx_http_core_module.xml" id="location"/>,
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
81 дальнейшая обработка запроса продолжается в этом location.
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
82 </para>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
83
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
84 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
85 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
87 if ($slow) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
88 limit_rate 10k;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
89 break;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
90 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97 <directive name="if">
108
72524ae53106 Explicitly marked directives with the block syntax. Such directives will
Ruslan Ermilov <ru@nginx.com>
parents: 106
diff changeset
98 <syntax block="yes">(<value>условие</value>)</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
99 <default/>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
100 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
101 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
102
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
103 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
104 Проверяется указанное <value>условие</value>.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
105 Если оно истинно, то выполняются указанные в фигурных скобках директивы
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
106 этого модуля и запросу назначается конфигурация, указанная внутри
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
107 директивы <literal>if</literal>.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
108 Конфигурации внутри директив <literal>if</literal> наследуются с
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
109 предыдущего уровня конфигурации.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
110 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
111
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113 В качестве условия могут быть заданы:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114 <list type="bullet">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
116 <listitem>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
117 имя переменной; ложными значениями переменной являются пустая строка
860
9fce700e56d3 If: only empty strings and "0" evaluate to false.
Ruslan Ermilov <ru@nginx.com>
parents: 703
diff changeset
118 или “<literal>0</literal>”;
9fce700e56d3 If: only empty strings and "0" evaluate to false.
Ruslan Ermilov <ru@nginx.com>
parents: 703
diff changeset
119 <note>
9fce700e56d3 If: only empty strings and "0" evaluate to false.
Ruslan Ermilov <ru@nginx.com>
parents: 703
diff changeset
120 До версии 1.0.1 ложным значением также являлась любая строка,
9fce700e56d3 If: only empty strings and "0" evaluate to false.
Ruslan Ermilov <ru@nginx.com>
parents: 703
diff changeset
121 начинающаяся на “<literal>0</literal>”.
861
6ae71688f2c2 Fixed closing tag.
Ruslan Ermilov <ru@nginx.com>
parents: 860
diff changeset
122 </note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
123 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
124
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
125 <listitem>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
126 сравнение переменной со строкой с помощью операторов
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
127 “<literal>=</literal>” и “<literal>!=</literal>”;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
130 <listitem>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
131 соответствие переменной регулярному выражению с учётом
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
132 регистра символов — “<literal>~</literal>” и без него — “<literal>~*</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
133 В регулярных выражениях можно использовать выделения, которые затем
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
134 доступны в виде переменных <var>$1</var>..<var>$9</var>.
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
135 Также можно использовать отрицательные операторы “<literal>!~</literal>”
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
136 и “<literal>!~*</literal>”.
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
137 Если в регулярном выражении встречаются символы “<literal>}</literal>”
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
138 или “<literal>;</literal>”, то всё выражение следует заключить в одинарные
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
139 или двойные кавычки.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
140 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
141
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
142 <listitem>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
143 проверка существования файла с помощью операторов “<literal>-f</literal>”
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
144 и “<literal>!-f</literal>”;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
145 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
146
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
147 <listitem>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
148 проверка существования каталога с помощью операторов “<literal>-d</literal>”
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
149 и “<literal>!-d</literal>”;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
150 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
151
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
152 <listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
153 проверка существования файла, каталога или символической ссылки
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
154 с помощью операторов “<literal>-e</literal>” и “<literal>!-e</literal>”;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
155 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
156
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
157 <listitem>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
158 проверка исполняемости файла с помощью операторов “<literal>-x</literal>”
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
159 и “<literal>!-x</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
160 </listitem>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
161
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
162 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
163 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
164
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
165 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
166 Примеры:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
167 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
168 if ($http_user_agent ~ MSIE) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
169 rewrite ^(.*)$ /msie/$1 break;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
170 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
171
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
172 if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
173 set $id $1;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
174 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
175
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
176 if ($request_method = POST) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
177 return 405;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
178 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
179
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
180 if ($slow) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
181 limit_rate 10k;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
182 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
183
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
184 if ($invalid_referer) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
185 return 403;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
186 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
187 </example>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
188 <note>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
189 Значение встроенной переменной <var>$invalid_referer</var> задаётся директивой
106
56457a474903 If text of the link is not provided, the @id is used.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
190 <link doc="ngx_http_referer_module.xml" id="valid_referers"/>.
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
191 </note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
192 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
193
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
194 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
195
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
196
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
197 <directive name="return">
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
198 <syntax><value>код</value> [<value>текст</value>]</syntax>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
199 <syntax><value>код</value> <value>URL</value></syntax>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
200 <syntax><value>URL</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
201 <default/>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
202 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
203 <context>location</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
204 <context>if</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
205
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
206 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
207 Завершает обработку и возвращает клиенту указанный <value>код</value>.
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
208 Нестандартный код 444 закрывает соединение без передачи
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
209 заголовка ответа.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
210 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
211
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
212 <para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
213 Начиная с версии 0.8.42 можно задать
1964
2a3c58dcb3e8 Documented support for the 308 Permanent Redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1873
diff changeset
214 либо URL перенаправления (для кодов 301, 302, 303, 307 и 308)
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
215 либо <value>текст</value> тела ответа (для остальных кодов).
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
216 В тексте тела ответа и URL перенаправления можно использовать переменные.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
217 Как частный случай, URL перенаправления может быть задан как URI,
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
218 локальный для данного сервера, при этом полный URL перенаправления
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 861
diff changeset
219 формируется согласно схеме запроса (<var>$scheme</var>) и директивам
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
220 <link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/> и
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
221 <link doc="ngx_http_core_module.xml" id="port_in_redirect"/>.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
222 </para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
223
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
224 <para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
225 Кроме того, в качестве единственного параметра можно указать
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
226 <value>URL</value> для временного перенаправления с кодом 302.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
227 Такой параметр должен начинаться со строк “<literal>http://</literal>”,
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
228 “<literal>https://</literal>” или “<literal>$scheme</literal>”.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
229 В <value>URL</value> можно использовать переменные.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
230 </para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
231
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
232 <para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
233 <note>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
234 До версии 0.7.51 можно было возвращать только следующие коды:
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
235 204, 400, 402 — 406, 408, 410, 411, 413, 416 и 500 — 504.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
236 </note>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
237
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
238 <note>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
239 До версий 1.1.16 и 1.0.13 код 307 не обрабатывался как перенаправление.
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
240 </note>
1964
2a3c58dcb3e8 Documented support for the 308 Permanent Redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1873
diff changeset
241
2a3c58dcb3e8 Documented support for the 308 Permanent Redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1873
diff changeset
242 <note>
2a3c58dcb3e8 Documented support for the 308 Permanent Redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1873
diff changeset
243 До версии 1.13.0 код 308 не обрабатывался как перенаправление.
2a3c58dcb3e8 Documented support for the 308 Permanent Redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1873
diff changeset
244 </note>
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
245 </para>
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
246
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
247 <para>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
248 См. также директиву <link doc="ngx_http_core_module.xml" id="error_page"/>.
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
249 </para>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
250
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
251 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
252
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
253
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
254 <directive name="rewrite">
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
255 <syntax>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
256 <value>regex</value>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
257 <value>замена</value>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
258 [<value>флаг</value>]</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
259 <default/>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
260 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
261 <context>location</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
262 <context>if</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
263
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
264 <para>
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
265 Если указанное регулярное выражение соответствует URI запроса, URI изменяется
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
266 в соответствии со строкой замены.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
267 Директивы <literal>rewrite</literal> выполняются последовательно,
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
268 в порядке их следования в конфигурационном файле.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
269 С помощью флагов можно прекратить дальнейшую обработку директив.
1873
2f851f71ff08 Documented $scheme support in the "rewrite" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1723
diff changeset
270 Если строка замены начинается с “<literal>http://</literal>”,
2f851f71ff08 Documented $scheme support in the "rewrite" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1723
diff changeset
271 “<literal>https://</literal>” или “<literal>$scheme</literal>”,
2f851f71ff08 Documented $scheme support in the "rewrite" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1723
diff changeset
272 то обработка завершается и клиенту возвращается перенаправление.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
273 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
274
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
275 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
276 Необязательный параметр <value>флаг</value> может быть одним из:
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
277 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
278
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
279 <tag-name><literal>last</literal></tag-name>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
280 <tag-desc>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
281 завершает обработку текущего набора директив модуля
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
282 <literal>ngx_http_rewrite_module</literal>,
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
283 после чего ищется новый location, соответствующий изменённому URI;
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
284 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
285
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
286 <tag-name><literal>break</literal></tag-name>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
287 <tag-desc>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
288 завершает обработку текущего набора директив модуля
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
289 <literal>ngx_http_rewrite_module</literal>
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
290 аналогично директиве <link id="break"/>;
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
291 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
292
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
293 <tag-name><literal>redirect</literal></tag-name>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
294 <tag-desc>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
295 возвращает временное перенаправление с кодом 302;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
296 используется, если заменяющая строка не начинается с
1873
2f851f71ff08 Documented $scheme support in the "rewrite" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1723
diff changeset
297 “<literal>http://</literal>”, “<literal>https://</literal>”
2f851f71ff08 Documented $scheme support in the "rewrite" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1723
diff changeset
298 или “<literal>$scheme</literal>”;
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
299 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
300
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
301 <tag-name><literal>permanent</literal></tag-name>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
302 <tag-desc>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
303 возвращает постоянное перенаправление с кодом 301.
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
304 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
305
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
306 </list>
548
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
307 Полный URL перенаправлений формируется согласно
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
308 схеме запроса (<var>$scheme</var>) и директив
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
309 <link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/> и
95a970603b0f Brought the "return" documentation up to date.
Ruslan Ermilov <ru@nginx.com>
parents: 391
diff changeset
310 <link doc="ngx_http_core_module.xml" id="port_in_redirect"/>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
311 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
312
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
313 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
314 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
315 <example>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
316 server {
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
317 ...
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
318 rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
319 rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra last;
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
320 return 403;
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
321 ...
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
322 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
323 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
324 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
325
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
326 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
327 Если же эти директивы поместить в location “<literal>/download/</literal>”,
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
328 то нужно заменить флаг <literal>last</literal> на <literal>break</literal>,
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
329 иначе nginx сделает 10 циклов и вернёт ошибку 500:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
330 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
331 location /download/ {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
332 rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
333 rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
334 return 403;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
335 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
336 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
337 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
338
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
339 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
340 Если в строке замены указаны новые аргументы запроса, то предыдущие
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
341 аргументы запроса добавляются после них.
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
342 Если такое поведение нежелательно, можно отказаться от этого добавления,
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
343 указав в конце строки замены знак вопроса, например:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
344 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
345 rewrite ^/users/(.*)$ /show?user=$1? last;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
346 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
347 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
348
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
349 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
350 Если в регулярном выражении встречаются символы “<literal>}</literal>”
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
351 или “<literal>;</literal>”, то всё выражение следует заключить в одинарные
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
352 или двойные кавычки.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
353 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
354
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
355 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
356
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
357
673
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
358 <directive name="rewrite_log">
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
359 <syntax><literal>on</literal> | <literal>off</literal></syntax>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
360 <default>off</default>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
361 <context>http</context>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
362 <context>server</context>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
363 <context>location</context>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
364 <context>if</context>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
365
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
366 <para>
703
57fe6d7d86b4 Slightly changed the wording when talking about the "rewrite_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 674
diff changeset
367 Разрешает или запрещает записывать в
57fe6d7d86b4 Slightly changed the wording when talking about the "rewrite_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 674
diff changeset
368 <link doc="../ngx_core_module.xml" id="error_log"/>
57fe6d7d86b4 Slightly changed the wording when talking about the "rewrite_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 674
diff changeset
369 на уровне <literal>notice</literal>
57fe6d7d86b4 Slightly changed the wording when talking about the "rewrite_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 674
diff changeset
370 результаты обработки директив модуля <literal>ngx_http_rewrite_module</literal>.
673
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
371 </para>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
372
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
373 </directive>
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
374
f2d8603813b0 Documented the "rewrite_log" directive.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
375
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
376 <directive name="set">
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
377 <syntax><value>$переменная</value> <value>значение</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
378 <default/>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
379 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
380 <context>location</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
381 <context>if</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
382
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
383 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
384 Устанавливает значение указанной переменной.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
385 В качестве значения можно использовать текст, переменные и их комбинации.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
386 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
387
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
388 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
389
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
390
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
391 <directive name="uninitialized_variable_warn">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 256
diff changeset
392 <syntax><literal>on</literal> | <literal>off</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
393 <default>on</default>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
394 <context>http</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
395 <context>server</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
396 <context>location</context>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
397 <context>if</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
398
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
399 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
400 Определяет, нужно ли писать в лог предупреждения о неинициализированных
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
401 переменных.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
402 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
403
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
404 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
405
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
406 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
407
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
408
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
409 <section id="internals" name="Внутреннее устройство">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
410
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
411 <para>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
412 Директивы модуля <literal>ngx_http_rewrite_module</literal>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
413 компилируются на стадии конфигурации во внутренние инструкции,
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
414 интерпретируемые во время обработки запроса.
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
415 Интерпретатор представляет из себя простую стековую виртуальную машину.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
416 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
417
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
418 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
419 Например, директивы
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
420 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
421 location /download/ {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
422 if ($forbidden) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
423 return 403;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
424 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
425
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
426 if ($slow) {
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
427 limit_rate 10k;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
428 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
429
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
430 rewrite ^/(download/.*)/media/(.*)\..*$ /$1/mp3/$2.mp3 break;
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
431 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
432 </example>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
433 будут транслированы в такие инструкции:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
434 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
435 переменная $forbidden
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
436 проверка на ноль
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
437 возврат 403
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
438 завершение всего кода
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
439 переменная $slow
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
440 проверка на ноль
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
441 проверка регулярного выражения
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
442 копирование "/"
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
443 копирование $1
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
444 копирование "/mp3/"
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
445 копирование $2
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
446 копирование ".mp3"
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
447 завершение регулярного выражения
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
448 завершение всего кода
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
449 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
450 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
451
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
452 <para>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
453 Обратите внимание, что инструкций для директивы
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
454 <link doc="ngx_http_core_module.xml" id="limit_rate"/>
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
455 нет, поскольку она не имеет отношения к модулю
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
456 <literal>ngx_http_rewrite_module</literal>.
1061
cb63563024eb Somewhat clarified how rewrite module works.
Ruslan Ermilov <ru@nginx.com>
parents: 966
diff changeset
457 Для блока <link id="if"/> создаётся отдельная конфигурация.
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
458 Если условие истинно, запрос получает эту конфигурацию,
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
459 и в ней <literal>limit_rate</literal> равен 10k.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
460 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
461
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
462 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
463 Директиву
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
464 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
465 rewrite ^/(download/.*)/media/(.*)\..*$ /$1/mp3/$2.mp3 break;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
466 </example>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
467 можно сделать на одну инструкцию меньше, если в регулярном выражении перенести
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
468 первый слэш внутрь скобок:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
469 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
470 rewrite ^(<emphasis>/</emphasis>download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
471 </example>
391
1702722eca07 Cleaned up terminology and language used.
Ruslan Ermilov <ru@nginx.com>
parents: 382
diff changeset
472 Тогда соответствующие инструкции будут выглядеть так:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
473 <example>
382
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
474 проверка регулярного выражения
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
475 копирование $1
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
476 копирование "/mp3/"
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
477 копирование $2
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
478 копирование ".mp3"
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
479 завершение регулярного выражения
b838f6e9192e Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
480 завершение всего кода
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
481 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
482 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
483
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
484 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
485
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
486 </module>