Nginx系列教程:nginx_substitutions_filter模块

nginx_substitutions_filter css

请注意:此模块不是Nginx源的分布,可点击此连接找到安装说明, html

http://wiki.nginx.org/NginxHttpSubsModule#Installation 。 linux

概述 nginx

nginx_substitutions_filter 是一个过滤器模块,它能够在响应主体上运行正则表达式和固定字符串替换。该 正则表达式

模块不一样于Nginx的本地替代模块。它可以扫描输出链缓冲区和匹配逐行字符串,相似于Apache的 svn

mod_substitute。 优化

好比 google

location / {
 
    subs_filter_types text/html text/css text/xml;
    subs_filter st(\d*).example.com $1.example.com ir;
    subs_filter a.example.com s.example.com;
 
} spa

指令 代理

•subs_filter_types 
•subs_filter

subs_filter_types

语法: subs_filter_types mime-type [mime-types] 
默认值: subs_filter_types text/html 
做用域: http, server, location

subs_filter_types 用于指定subs_filter的内容类型检查。默认是text/html.。

该模块只适用于纯文本。若是是压缩的响应,它不能解压缩响应,且将忽略此响应。这个模块能够兼容gzip过滤

器模块。可是不能代理压缩的响应,您能够禁用这样的压缩响应,以下:
proxy_set_header Accept-Encoding "";

subs_filter

语法: subs_filter source_str destination_str [gior] 
默认值: none 
做用域: http, server, location 
subs_filter 容许在目标字符串的nginx响应中替换源字符串(正则表达式或固定)。替代的文本可能包含变量

。支持每一个位置一个以上的替换规则。第三个标志的含义是:
•g(default): 替换全部匹配字符串。
•i: 执行区分大小写的匹配。 
•o: 只替换第一个。
•r: 处理模式是做为一个正规表达式,默认是固定的字符串。

安装说明

安装前,先获取SVN版本控制源:

svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
 
而后编译nginx的下列选项:

./configure --add-module=/path/to/module

更新说明

nginx_substitutions_filter 0.5.2 2010-08-11 更新

•进行了多个模块的优化
•修复了缓冲区重叠的错误
•修复了输出链回归NGX_AGAIN的段故障错误
•修复了最后没有换行缓冲区的错误,这将会导至段故障。

nginx_substitutions_filter 0.5 2010-04-15 更新

•重构源结构,建立dev分支。
•修复了缓冲区块形成内容遗失的错误
•修复了last_buf的错误和兼容nginx 0.8.25版本以上的错误
•修复了固定字符串替换中不须要的配置错误
•添加正规表达式捕获功能

nginx_substitutions_filter 0.4 2009-12-23 更新

•修复了多个漏洞
nginx_substitutions_filter 0.3 2009-02-04 更新
•首次公开发布

相关文章
相关标签/搜索