$query_string - это только аргументы. В nginx'е есть ещё другое
название -
$args. Вся строка запроса - $request_uri.
Може быть, где-то в документации, стоит сделать пример (для чайников,
типа меня):
Строка запроса клиента вида доступна в
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
Некоторое описание без примеров есть здесь:
Кроме того, все эти переменные (кроме $uri и $args) совместимы с Апачём,
ничего нового.
Правда, несколько раз замечал, что регэкспы в nginx плохо обрабатывают
"доллар", как признак конца строки. Стараюсь просто им не пользоваться.
Можно привести примеры ?
Сейчас живые примеры показать не готов. Скорее всего, путаница
происходит из-за различных методов обработки правил:
location /... {}
и
location ~ /... {}
Т.е., в одном случае регекспы применять можно, а в другом - нельзя.
Парсер - не ругается.
"location /..." предполагает буквальную строку. В принципе, "/...$" может
быть буквальным УРЛом.
Игорь Сысоев