subs_filter_bypass

Директива `subs_filter_bypass` отключает строковые подстановки на основе значений указанных переменных.

Синтаксисsubs_filter_bypass $variable1 [ $variable2 ... ];
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива subs_filter_bypass в модуле NGINX «Модуль строковых подстановок» позволяет условно отключать фильтры строковых подстановок в заданном контексте (http, server или location) в зависимости от состояния конкретных переменных. Это означает, что если указанные переменные не пусты и не равны '0', функциональность подстановки будет обойдена, и какие-либо настроенные замены не будут выполняться.

Эта директива особенно полезна в сценариях, когда подстановки не нужны в зависимости от некоторых условий или конфигураций. Например, если определённые параметры запроса указывают на то, что ответ не должен изменяться, директиву subs_filter_bypass можно настроить так, чтобы она ссылалась на эти параметры, гарантируя возврат исходного ответа без каких-либо подстановок — это может быть важно для производительности или целостности возвращаемых данных.

Синтаксис требует указания одного или нескольких имён переменных в качестве аргументов. При вычислении, если любая из этих переменных возвращает истинное значение (непустая и не равна '0'), подстановки фактически пропускаются. Такая гибкость обеспечивает больший контроль над изменением ответа, позволяя применять строковые замены только в нужных случаях.

Пример конфига

location / {
    subs_filter_types text/html;
    subs_filter_bypass $arg_no_subs;
    subs_filter a.example.com b.example.com;
}

Убедитесь, что указанные переменные правильно определены в вашем контексте, так как неинициализированные переменные могут привести к непредвиденному поведению.

Будьте осторожны при использовании слишком большого количества переменных в условии обхода, так как это может усложнить логику и читаемость конфигурации.

← Ко всем директивам