Mercurial > hg > nginx-site
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>