没有邪恶的计划,我试图在其他领域镜像一个网站,而在飞行中更改一些string。
我在一个新的主机上设置了nginx作为主站点的RP。 这允许设置一个replace规则:
sub_filter Originalstring 'new string'; sub_filter_once off;
不过,我想有几个规则运行,哪个sub_filter只允许每个位置一个 。
这里有什么可以解决的办法?
现在你可以将nginx升级到1.9.4
*) Feature: multiple "sub_filter" directives can be used simultaneously.
看到完整的更改日志在这里: http : //nginx.org/en/CHANGES
与前一版本不同的是,当前版本的nginx允许在一个位置指令下创build多个子filter规则。 像这样
location / { resolver 8.8.8.8; proxy_pass http://original-domain.com; proxy_set_header Accept-Encoding ""; proxy_set_header Host original-domain.com; subs_filter_types text/css text/xml text/css; subs_filter a.original-domain.com b.mydomain.com; subs_filter http://$host https://$host; }
您可以根据需要添加任意数量的filter。 请参阅http://wiki.nginx.org/HttpSubsModule
通过运行这个命令nginx -V
确保你已经用nginx安装了subs_filter
。 在输出中查找--with-http_sub_module
。
检查HttpSubsModule模块。 文件摘录:
可以指定每个位置的几个replace规则
我想你可能会设置几个位置或server_names与每个sub_filter
一个sub_filter
并通过他们代理请求。