替换 ###

该模块是一个过滤器,通过将一个指定字符串替换为另一个字符串来修改响应。

当从源代码 构建 时, 此模块默认不被构建; 它应通过 ‑‑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#

语法

sub_filter string replacement;

默认值

上下文

http, server, location

设置要替换的字符串和替换字符串。匹配要替换的字符串时不区分大小写。要替换的字符串和替换字符串可以包含变量。在同一配置级别上可以指定多个 sub_filter 指令。只有在当前级别未定义 sub_filter 指令的情况下,这些指令才会从上一级配置继承。

sub_filter_last_modified#

语法

sub_filter_last_modified on | off;

默认值

sub_filter_last_modified off;

上下文

http, server, location

允许在替换期间保留原始响应的 "Last-Modified" 头字段,以便于响应缓存。

默认情况下,响应内容在处理过程中被修改,头字段被移除。

sub_filter_once#

语法

sub_filter_once on | off;

默认值

sub_filter_once on;

上下文

http, server, location

指示是否仅查找每个字符串一次或多次。

sub_filter_types#

语法

sub_filter_types mime-type ...;

默认值

sub_filter_types text/html;

上下文

http, server, location

在指定的 MIME 类型的响应中启用字符串替换,除了 "text/html"。特殊值 "*" 匹配任何 MIME 类型。