$query_string
Переменная $query_string содержит часть URI запроса клиента, относящуюся к строке запроса, без ведущего '?'. — NGINX Core (HTTP)
Описание
Переменная `$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";
}
}Подсистема
httpКэшируется
НетКонтексты
http, server, location, ifУбедитесь, что параметры строки запроса не содержат конфиденциальной информации, поскольку они могут записываться в логах или отображаться в URL-адресах.
Помните, что переменная `$query_string` не включает символ `?`. Это может привести к путанице при формировании URL-адресов или перенаправлений.