Mercurial > hg > nginx-site
changeset 503:aed015c3dedd
Documented URI normalization rules, including %-decoding.
Aligned the description of the $uri variable accordingly.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 24 Apr 2012 06:35:12 +0000 |
parents | 6520338cdf0a |
children | 695f83494c19 |
files | xml/en/docs/http/ngx_http_core_module.xml xml/ru/docs/http/ngx_http_core_module.xml |
diffstat | 2 files changed, 32 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/docs/http/ngx_http_core_module.xml +++ b/xml/en/docs/http/ngx_http_core_module.xml @@ -1288,6 +1288,18 @@ listen 127.0.0.1 default accept_filter=d <para> Sets a configuration based on a request URI. +</para> + +<para> +The matching is performed against a normalized URI, +after decoding a text encoded in the “<literal>%XX</literal>” form, +resolving references to relative path components “<literal>.</literal>” +and “<literal>..</literal>”, and possible +<link id="merge_slashes">compression</link> of two or more +adjacent slashes into a single slash. +</para> + +<para> A location can either be defined by a prefix string, or by a regular expression. Regular expressions are specified by prepending them with the “<literal>~*</literal>” prefix (for case-insensitive matching), or with the @@ -2808,10 +2820,10 @@ that support the <c-def>TCP_INFO</c-def> <tag-name><var>$uri</var></tag-name> <tag-desc> -current URI in request +current URI in request, <link id="location">normalized</link> <para> -It may differ from an original, e.g. when doing internal redirects, -or when using index files. +The value of <var>$uri</var> may change during request processing, +e.g. when doing internal redirects, or when using index files. </para> </tag-desc>
--- a/xml/ru/docs/http/ngx_http_core_module.xml +++ b/xml/ru/docs/http/ngx_http_core_module.xml @@ -1271,6 +1271,18 @@ listen 127.0.0.1 default accept_filter=d <para> Устанавливает конфигурацию в зависимости от URI запроса. +</para> + +<para> +Для сопоставления используется URI запроса в нормализованном виде, +после декодирования текста, заданного в виде “<literal>%XX</literal>”, +преобразования относительных элементов пути “<literal>.</literal>” и +“<literal>..</literal>” в реальные, и возможной +<link id="merge_slashes">замены</link> двух и более подряд идущих +слэшей на один. +</para> + +<para> location можно задать префиксной строкой или регулярным выражением. Регулярные выражения задаются либо с префиксом “<literal>~*</literal>” (для поиска совпадения без учёта регистра символов), @@ -1427,7 +1439,7 @@ location ~* \.(gif|jpg|jpeg)$ { <para> Разрешает или запрещает преобразование URI путём замены двух и более подряд -идущих слэшей (“<literal>/</literal>”) в один. +идущих слэшей (“<literal>/</literal>”) на один. </para> <para> @@ -2790,10 +2802,11 @@ fastcgi_pass_request_body off</link> <tag-name><var>$uri</var></tag-name> <tag-desc> -текущий URI запроса +текущий URI запроса в <link id="location">нормализованном</link> виде <para> -Он может отличаться от первоначального, например, при внутренних -перенаправлениях или при использовании индексных файлов. +Значение <var>$uri</var> может изменяться в процессе обработки запроса, +например, при внутренних перенаправлениях +или при использовании индексных файлов. </para> </tag-desc>