$query_string
Переменная $query_string содержит часть URI запроса клиента, относящуюся к строке запроса, без ведущего '?'.
Описание
Переменная $query_string в NGINX захватывает строку запроса из URI запроса клиента. Строка запроса — это часть URL, которая следует за символом '?' и обычно содержит параметры и их значения. Например, в URL http://example.com/index.html?name=John&age=30 строка запроса — name=John&age=30. Эта переменная автоматически заполняется NGINX при получении запроса и может использоваться в различных контекстах, в частности внутри location blocks, где применяется условная логика.
Эта переменная полезна для реализации логики, зависящей от конкретных параметров, переданных в строке запроса. Например, вы можете использовать $query_string в rewrites, для контроля доступа или в настройках логирования, чтобы направлять запросы в зависимости от их параметров. Важно отметить, что эта переменная представляет собой простую строковую форму строки запроса и не выполняет её разбор; разбор должен осуществлять администратор, если требуется более тонкое управление самими параметрами.
Пример конфига
location /search {
if ($query_string ~* "keyword=(.*)") {
set $search_keyword $1;
add_header Search-Keyword "$search_keyword";
}
}Убедитесь, что параметры строки запроса не содержат конфиденциальной информации, поскольку они могут записываться в логах или отображаться в URL-адресах.
Помните, что переменная $query_string не включает символ ?. Это может привести к путанице при формировании URL-адресов или перенаправлений.