subs_filter_bypass
The `subs_filter_bypass` 指令根据指定变量的值禁用字符串替换。
String substitutions module for nginx
·
httpserverlocation
语法subs_filter_bypass $variable1 [ $variable2 ... ];
默认值none
上下文http, server, location
参数1+
说明
subs_filter_bypass 指令在 NGINX 'String Substitutions Module' 中允许用户根据特定变量的状态在给定上下文(http、server 或 location)内有条件地禁用字符串替换过滤器。这意味着如果指定的变量非空且不等于 '0',则替换功能将被绕过,从而阻止任何已配置的替换发生。\n\n该指令在基于某些条件或配置不需要执行替换的场景中特别有用。例如,如果某些请求参数表明响应不应被更改,则可以将 subs_filter_bypass 指向这些参数,确保返回原始响应而不进行任何替换,这对于性能或所提供数据的完整性可能很重要。\n\n语法要求将一个或多个变量名作为参数指定。评估时,如果任一变量返回真值(非空且不等于 '0'),则替换将被有效跳过。这种灵活性允许通过仅在所需情况下进行字符串替换来更精细地控制响应处理。
配置示例
location / {
subs_filter_types text/html;
subs_filter_bypass $arg_no_subs;
subs_filter a.example.com b.example.com;
}⚠
确保在你的上下文中正确定义了指定的变量,因为未初始化的变量可能导致意外行为。
⚠
在绕过条件中使用过多变量时要谨慎,因为这可能会使配置的逻辑和可读性变差。