У меня очень странная проблема с mod_proxy_html. HTML-код, который анализируется, выглядит так:
<a href="/old/something.html" style="background-image:url('/old/images/background.png')">link</a>
Наша конфигурация выглядит так:
ProxyPass / ajp://localhost:9000/webapp/
<Location />
SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyPassReverse /
ProxyHTMLExtended On
ProxyHTMLURLMap /old/ /new/
RequestHeader unset Accept-Encoding
</Location>
И в конфигурационном файле модуля я добавил это:
ProxyHTMLLinks a href style
Насколько я понимаю, теперь это должно фильтровать атрибут HREF и STYLE. Но он фильтрует только HREF. Кто-нибудь может мне объяснить, почему?
Это httpd версии 2.4.6.
Подозреваю, что нужно завернуть ProxyHTMLLinks
директива в <Location />...</Location>
, такой же как ProxyHTMLURLMap
. когда ProxyHTMLURLMap
вызывается, он может переопределить ваш предыдущий ProxyHTMLLinks a
директива с версией по умолчанию, которая перезаписывает href
но нет style
.