3

Apache 2.4 包含mod_proxy_html,这很棒,它可以捕获从服务器返回的 HTML 中的各种 URL 并修复它们。但是我有一个 Seam 应用程序,它有时会使用完全限定的 URL 将文本/xml 文件发送回客户端,这些 URL 也需要重写,而 mod_proxy_html 不能修复它们。

显然有一个mod_proxy_xml曾经与 mod_proxy_html 分开存在,但 Apache 没有包含它。有没有办法让 mod_proxy_html 配置为做同样的事情?我需要它来修复从服务器返回的 HTML 和 XML 文件中的 URL。

跟进:

我继续与此作斗争,我尝试了一些不同的解决方案但没有成功,包括使用 mod_substitute (不知何故我配置不正确,因为它似乎永远不会用任何东西代替任何东西)和使用强制标志 mod_proxy_html 必须尝试强制它执行某个路径下的所有文件。

4

1 回答 1

3

这是一个老问题,但我刚刚遇到了同样的问题。我尝试使用 mod_proxy_html,编译 mod_proxy_xml,但没有任何效果。

@JonLin 的建议是正确的,它适用于 mod_sed。唯一的 if 是 mod_sed 被记录在目录节点内工作。如果您声明一个 Location 并执行 SetOutputFilter 而不是 AddOutputFilter (需要 mime 类型),它会很好地工作。

有效的配置是:

<Location "/">
    SetOutputFilter Sed
    OutputSed "s,http://internal:80,https://external.com,g"
</Location>
于 2015-08-20T22:02:38.063 回答