$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-адресов или перенаправлений.

← Ко всем переменным