程序员 Windows Ubuntu centos wordpress Python 微软 google shell 开源 java HTML5 nginx mysql php apache linux Android Firefox linux命令

Nginx内容替换sub_filter模块的过滤功能

首先是示例:

location / {
 sub_filter      </head>   '</head><script language="javascript" src="x.js"></script>';
 proxy_set_header referer http://www.lvtao.net;#如果网站有验证码,可以解决验证码不显示问题
 sub_filter_once on;
 sub_filter_types text/html;
}

解释:

  • sub_filter 一行代码前面是需要替换的内容,后面单引号内是替换成的内容。
  • sub_filter_once 意思是只查找并替换一次。on是开启此功能,off是关闭——默认值是on。
  • sub_filter_types 一行意思是选定查找替换文件类型为文本型。也可以不加此行,因为默认只查找文本型文件。
  • sub_filter模块可以用在http, server, location模块中。主要作用就是查找替换文件字符。

比较实用的例子就是,如果我们用模板生成网站的时候,因为疏漏或者别的原因造成代码不如意,但是此时因为文件数量巨大,不方便全部重新生成,那么这个时候我们就可以用此模块来暂时实现纠错。另一方面,我们也可以利用这个实现服务器端文字过滤的效果——至于原因,你懂的。

延伸阅读

评论