第三方代理域名的相对链接仍然指向旧域名

第三方代理域名的相对链接仍然指向旧域名

我有一个代理规则,将 www.example.com/support 指向我们的第三方支持网站 (www.support.example.com/support)。查看页面源代码,所有链接都是相对的,例如:

     <a href="/support/answers/subjectN">

但是,当通过代理导航到该站点并将鼠标悬停并单击链接时,它会恢复到第三方域。我已使用以下规则加载了 mod_proxy_http 模块,但它似乎也不起作用:

ProxyPass /support https://example.custhelp.com/support
ProxyPassReverse /app https://example.custhelp.com/support
 <Location app/>
    ProxyHTMLEnable On
    ProxyHTMLURLMap https://example.custhelp.com/app/(.*)$ https://www.exmample.com/app/$1 [R]
    ProxyHTMLURLMap / /app/
 </Location>

答案1

这个问题实际上与以下事实有关:在 apache 中,您需要“SetOutputFilter”来实际告诉 apache 通过 mod_proxy_html 模块传递文档。我的测试浏览器启用了压缩,而 Web 服务器向客户端提供了压缩的页面,mod_proxy_html 将无法理解。此行解压缩文档(如果已压缩),通过 proxy-html 运行它,然后重新压缩它(如果支持)。

 SetOutputFilter INFLATE;proxy-html;DEFLATE

相关内容