Nginx模块substitutions4nginx和HttpSubModule的过滤替换内容手记

模块开发者主页:http://code.google.com/p/substitutions4nginx/

执行svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only

下载:

编译安装时添加两个参数


–with-http_sub_module –add-module=/root/substitutions4nginx-read-only


sub_module用法:http://wiki.nginx.org/HttpSubModule

substitutions4nginx用法:http://code.google.com/p/substitutions4nginx/

s安装substitutions4nginx提示错误:-bash: svn: command not found

需安装subversion 安装命令yum -y install subversion

翻译substitutions4nginx参数:


g(default):替换所有匹配的字符串。
i: 执行不区分大小写的匹配。
o: 只需将第一个。
r: 该模式是作为一个正则表达式处理,默认是固定的字符串。


实际使用:


subs_filter ‘<(no?script.*?)>(.*?)<(\/no?script.*?)>’ ” gi; //替换掉全部的<noscript></noscript>
subs_filter ‘<(s?cript.*?)>(?:\s|\S)*?<(\/s?cript.*?)>’ ” gi; //替换掉全部的<script>包换中间换行</script>
subs_filter ‘<(i?frame.*?)>(.*?)<(\/i?frame.*?)>’ ” gi; //替换<iframe></iframe>


实际测试中sub_filter比subs_filter的速度要快,但如果你开启了nginx的cache速度上可以得到改善的。

测试过程发现对gzip源的内容无法实现替换的问题

可以在server段内加入 proxy_set_header Accept-Encoding "";

如果是替换中文词组则需要将nginx的配置文件保存为utf-8格式!

转自:http://www.caohuan.com/nginx-configuration-is-the-filter-to-accelerate-website.html 


标签: nginx

评论已关闭