模块 ngx_http_sub_module
示例配置 指令 sub_filter sub_filter_last_modified sub_filter_once sub_filter_types |
ngx_http_sub_module
模块是一个过滤器,它通过将一个指定的字符串替换为另一个字符串来修改响应。
此模块默认情况下未构建,应使用 --with-http_sub_module
配置参数启用。
示例配置
location / { sub_filter '<a href="http://127.0.0.1:8080/' '<a href="https://$host/'; sub_filter '<img src="http://127.0.0.1:8080/' '<img src="https://$host/'; sub_filter_once on; }
指令
语法 |
sub_filter |
---|---|
默认值 | — |
上下文 |
http 、server 、location |
设置要替换的字符串和替换字符串。要替换的字符串匹配时不区分大小写。要替换的字符串 (1.9.4) 和替换字符串可以包含变量。可以在同一配置级别上指定多个 sub_filter
指令 (1.9.4)。如果当前级别未定义 sub_filter
指令,则这些指令将从上一配置级别继承。
语法 |
sub_filter_last_modified |
---|---|
默认值 |
sub_filter_last_modified off; |
上下文 |
http 、server 、location |
此指令出现在 1.5.1 版本中。
允许在替换过程中保留原始响应中的“Last-Modified”报头字段,以方便响应缓存。
默认情况下,由于在处理过程中修改了响应的内容,因此会删除此报头字段。
语法 |
sub_filter_once |
---|---|
默认值 |
sub_filter_once on; |
上下文 |
http 、server 、location |
指示是否一次查找每个要替换的字符串,还是重复查找。
语法 |
sub_filter_types |
---|---|
默认值 |
sub_filter_types text/html; |
上下文 |
http 、server 、location |
除了“text/html
”之外,还在具有指定 MIME 类型的响应中启用字符串替换 (0.8.29)。特殊值“*
”匹配任何 MIME 类型。