ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rewrite & query string



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



 




Copyright © Lexa Software, 1996-2009.