несколько sub_filter

Domrachev Ivan domrachev.ivan at gmail.com
Thu Dec 6 13:37:09 MSK 2007


Здравствуйте Игорь и господа.

понадобилось сделать 2 разных замены текста в отдаваемом text/html. т.к.
ngx_http_sub_module может это делать лишь один раз, то появилась мысль
скопировать модуль ngx_http_sub_module 2 раза.
так и сделал.
изменения в модуль внёс так: в первом все sub поменял на su1. во
втором на su2. с учётом регистра.
добавляю через --add-module.
первый config такой:
-
ngx_addon_name=ngx_http_su1_filter_module
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_su1_filter_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_su1_filter_module.c"
-
второй соответствующий.

теперь самое интересное:
если пользовать замену по одной, то всё замечательно, а если сразу
обе, то глюки вылазят.

в html:
server_name1=%server_name1%<br>
server_name2=%server_name2%<br>

в .conf:
su1_filter %server_name1% "server1.com";
su1_filter_once off;
su2_filter %server_name2% "server2.com";
su2_filter_once off;

а на выходе:
---
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 06 Dec 2007 10:19:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive

56
server_name1=server1.com<br>
server_name2=%server_name1%server2.com%server_name1%
0

0

---

в логах ничего. дебаг, если надо, сделаю.
nginx-0.6.17

Игорь подскажите пожалуйста: сложно ли это поправить?
если сложно, то в какую сторону лучше переделывать?


P.s.
1 сси не хотелось бы использовать.
2 а проксирование через несколько server, думаю, будет дороже чем 2
  модуля sub_filter.
3 может приспичить сделать и 3ую и 4ую замену.


Заранее спасибо,
 Domrachev                          mailto:Domrachev.Ivan at gmail.com






More information about the nginx-ru mailing list