rewrite & query string

Igor Sysoev is at rambler-co.ru
Tue Mar 28 16:07:29 MSD 2006


On Tue, 28 Mar 2006, Andrey Y. Ostanovsky wrote:

> Igor Sysoev wrote:
>> $query_string - это только аргументы. В nginx'е есть ещё другое
>> название -
>> $args. Вся строка запроса - $request_uri.
> Може быть, где-то в документации, стоит сделать пример (для чайников,
> типа меня):
> Строка запроса клиента вида http://www.foo.bar/aaa?bbb=ccc доступна в
> nginx в следующих переменных:
>
> www.foo.bar/aaa?&bbb=ccc - ?

$host$request_uri

> www.foo.bar                      - ?

$host

> aaa?&bbb=ccc                   - ?

$request_uri или $uri?$args

> bbb=ccc                            - ?

$query_string или $args

Некоторое описание без примеров есть здесь:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#variables
Кроме того, все эти переменные (кроме $uri и $args) совместимы с Апачём,
ничего нового.

>>> Правда, несколько раз замечал, что регэкспы в nginx плохо обрабатывают
>>> "доллар", как признак конца строки. Стараюсь просто им не пользоваться.
>> Можно привести примеры ?
> Сейчас живые примеры показать не готов. Скорее всего, путаница
> происходит из-за различных методов обработки правил:
> location /... {}
> и
> location ~ /... {}
>
> Т.е., в одном случае регекспы применять можно, а в другом - нельзя.
> Парсер - не ругается.

"location /..." предполагает буквальную строку. В принципе, "/...$" может
быть буквальным УРЛом.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list