如何重写Apache 2中反向代理页面中引用的资源的根位置?

我们有一个位于http://foo.bar的应用程序服务器。

它需要通过http:// wibble / foo使用反向代理来访问。

这我已经pipe理,但是有在http:// foo.bar的东西从/

例如:

/images/blah.jpg

所以它试图得到http:// wibble / images / blah.jpg而不是

http:// wibble / foo / images / blah.jpg

任何想法如何让它插入/ foo前缀的任何引用/?

mod_proxy 从不修改HTML。

只有上面特别提到的HTTP响应头才会被重写。 Apache不会重写其他响应头,也不会重写HTML页面内的URL引用。 这意味着如果代理内容包含绝对URL引用,他们将绕过代理。 Nick Kew的mod_proxy_html是第三方模块,它将查看HTML并重写URL引用。

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

如果您使用nginx作为前端服务器,则可以使用HttpSubModule执行replace。 本质上,nginx应该代理请求并在返回的文本上执行replace。 我相信虽然,如果你在后端进行压缩,你不能使用它(只要你在前端服务器上压缩,你应该没问题):

基本上:Nginx – >代理到Apache – >返回到Nginx – >执行replace – >压缩和服务

我认为Apache和其他服务器存在类似的模块。