环境:
CentOS7
Nginx 1.16.0
http_sub_module模块,可用来对服务器将要返回给客户端的html内容进行替换
常用到的几项配置:
Syntax: sub_filter string replacement; //把html内容中的 string 部分替换成 replacement;
Default: ——
Context: http, server, location
Syntax: sub_filter_last_modified on | off
Default: sub_filter_last_modified off
Context: http, server, location
last_modified 是一种http缓存机制, 服务器对发送给客户端的资源设置最后修改时间, 当客户端再次发起相同资源的请求时, 比对修改时间,如果该资源仍没有被修改过,那么服务器不用再次传输资源, 而是直接给出304的响应, 让客户端调用本地缓存。
Syntax: sub_filter_once on | off;
Default: sub_filter_once on;
Context: http, server, location
替换时, 只对第一个匹配内容替换还是对所有的匹配内容替换
实际操作:
在/opt/code/html下新建index.html
修改/etc/nginx/conf.d/default.conf如下
检测语法无误后重启nginx, 浏览器访问主页
可见第一个’yicixin’ 被替换成大写,而后面的未被替换
此时再编辑/etc/nginx/conf.d/default.conf, 将sub_filter_once 改为off;
再次重启nginx, 浏览器访问主页
全部被替换