diff xml/ru/docs/http/ngx_http_rewrite_module.xml @ 1061:cb63563024eb

Somewhat clarified how rewrite module works.
author Ruslan Ermilov <ru@nginx.com>
date Sat, 08 Feb 2014 16:23:06 +0400
parents 95c3c3bbf1ce
children 065978f4ece1
line wrap: on
line diff
--- a/xml/ru/docs/http/ngx_http_rewrite_module.xml	Wed Feb 05 18:30:15 2014 +0400
+++ b/xml/ru/docs/http/ngx_http_rewrite_module.xml	Sat Feb 08 16:23:06 2014 +0400
@@ -10,13 +10,13 @@
 <module name="Модуль ngx_http_rewrite_module"
         link="/ru/docs/http/ngx_http_rewrite_module.html"
         lang="ru"
-        rev="4">
+        rev="5">
 
 <section id="summary">
 
 <para>
 Модуль <literal>ngx_http_rewrite_module</literal> позволяет
-изменять URI с помощью регулярных выражений, делать перенаправления
+изменять URI запроса с помощью регулярных выражений, делать перенаправления
 и выбирать конфигурацию по условию.
 </para>
 
@@ -26,22 +26,32 @@
 <list type="bullet">
 
 <listitem>
-выполняются директивы этого модуля, описанные на уровне
-<link doc="ngx_http_core_module.xml" id="server">сервера</link>;
+последовательно выполняются директивы этого модуля, описанные на уровне
+<link doc="ngx_http_core_module.xml" id="server"/>;
 </listitem>
 
 <listitem>
-ищется location для запроса;
+в цикле:
+<list type="bullet">
+
+<listitem>
+ищется
+<link doc="ngx_http_core_module.xml" id="location"/>
+по URI запроса;
 </listitem>
 
 <listitem>
-выполняются директивы этого модуля, описанные в выбранном
-<link doc="ngx_http_core_module.xml" id="location"/>,
-и если они изменяли URI, то ищется новый location для уже нового URI.
-Этот цикл может повторяться до
-<link doc="ngx_http_core_module.xml" id="internal">10 раз</link>,
-после чего возвращается ошибка
-<http-status code="500" text="Internal Server Error"/>.
+последовательно выполняются директивы этого модуля,
+описанные в найденном location;
+</listitem>
+
+<listitem>
+цикл повторяется, если URI запроса <link id="rewrite">изменялся</link>,
+но не более
+<link doc="ngx_http_core_module.xml" id="internal">10 раз</link>.
+</listitem>
+
+</list>
 </listitem>
 
 </list>
@@ -65,6 +75,12 @@
 </para>
 
 <para>
+Если директива указана внутри
+<link doc="ngx_http_core_module.xml" id="location"/>,
+дальнейшая обработка запроса продолжается в этом location.
+</para>
+
+<para>
 Пример:
 <example>
 if ($slow) {
@@ -223,6 +239,10 @@
 </note>
 </para>
 
+<para>
+См. также директиву <link doc="ngx_http_core_module.xml" id="error_page"/>.
+</para>
+
 </directive>
 
 
@@ -237,7 +257,7 @@
 <context>if</context>
 
 <para>
-Если указанное регулярное выражение соответствует URI, URI изменяется
+Если указанное регулярное выражение соответствует URI запроса, URI изменяется
 в соответствии со строкой замены.
 Директивы <literal>rewrite</literal> выполняются последовательно,
 в порядке их следования в конфигурационном файле.
@@ -261,7 +281,8 @@
 <tag-name><literal>break</literal></tag-name>
 <tag-desc>
 завершает обработку текущего набора директив модуля
-<literal>ngx_http_rewrite_module</literal>;
+<literal>ngx_http_rewrite_module</literal>
+аналогично директиве <link id="break"/>;
 </tag-desc>
 
 <tag-name><literal>redirect</literal></tag-name>
@@ -347,7 +368,7 @@
 
 
 <directive name="set">
-<syntax><value>переменная</value> <value>значение</value></syntax>
+<syntax><value>$переменная</value> <value>значение</value></syntax>
 <default/>
 <context>server</context>
 <context>location</context>
@@ -427,7 +448,7 @@
 <link doc="ngx_http_core_module.xml" id="limit_rate"/>
 нет, поскольку она не имеет отношения к модулю
 <literal>ngx_http_rewrite_module</literal>.
-Для блока <link id="if"/> создаётся отдельная конфигурация,
+Для блока <link id="if"/> создаётся отдельная конфигурация.
 Если условие истинно, запрос получает эту конфигурацию,
 и в ней <literal>limit_rate</literal> равен 10k.
 </para>