解释标题,我已经把这个(这是唯一的htmlUrlMap)在我的conf:
ProxyHTMLURLMap / /rp/ticket/
这在我的HTML:
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
预期的是:
<script type="text/javascript" src="/rp/ticket/js/jquery-1.8.3.min.js"></script>
实际产量:
<script type="text/javascript" src="/rp/ticket/rp/ticket/js/jquery-1.8.3.min.js"></script>
这是奇怪的…,更多的configuration:
<Location /rp/ticket/> ProxyHTMLEnable On ProxyHTMLBufSize 102400 ProxyHTMLExtended On ProxyHTMLStripComments Off ProxyHTMLDocType "<!DOCTYPE html>" ProxyHTMLMeta Off ProxyHTMLCharsetOut * ProxyHTMLURLMap / /rp/ticket/ ProxyPass http://ticket.domain.com/ ProxyPassReverse http://domain.com/ SetOutputFilter INFLATE;proxy-html;DEFLATE RequestHeader unset Accept-Encoding </Location>
我最好的猜测是<location>是问题的原因,它被附加到我的自定义地址,但在改变地址到不同的地方(“/ rp / test”)而不是获得
src="/rp/ticket/rp/test"
我有
src="/rp/test/rp/test"
所以这不是问题
我在WindowsServer 2008(x64)上安装了Apache / 2.4.3(Win32)OpenSSL / 1.0.1c PHP / 5.4.7。 用Xampp安装apache(xampp-win32-1.8.1-VC9.zip)。
有一个很好的机会,我错过configuration或已经做了一些明显的错误,但我无法解决这个问题后两天。任何帮助表示赞赏。
– – – – -编辑:
看起来像我不明白这是如何工作的。 看着修改后的源代码有一个JavaScript评论
// What's the page height?
它被改为:
/rp/ticket/rp/rp/ticket/ticket/rp/ticket//rp/ticket/rp/rp/ticket/ticket/rp/ticket/ What's the page height?
我最终没有使用mod_proxy_html,我不build议任何人使用它…
其他解决scheme:
1.enable substitute_module(在httpd.conf中取消注释以下行)
LoadModule substitute_module modules/mod_substitute.so
2.创build一个正则expression式来改变你想要的,就我而言:
Substitute "s|\"/|/rp/ticket/|iq"
3.添加SUBSTITUTE输出filter
SetOutputFilter INFLATE;SUBSTITUTE;DEFLATE
完成。