我在这里遇到了 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。
答案1
我怀疑您需要将ProxyHTMLLinks
指令包装在 中<Location />...</Location>
,与 相同ProxyHTMLURLMap
。ProxyHTMLURLMap
调用 时,它可能会使用重写但不会 的ProxyHTMLLinks a
默认版本覆盖您之前的指令。href
style