为什么不像mod_proxyrecursion?

免责声明:我是mod_proxy新手,对于一般的apache有点新鲜。

我有一个非常简单的虚拟主机,具有以下configuration:

 <VirtualHost *:80> ServerName myhost.mydomain <IfModule mod_proxy.c> ProxyRequests Off ProxyPass /mysite http://www.google.com ProxyPassReverse /mysite http://www.google.com </IfModule> </VirtualHost> 

当我转到http://myhost.mydomain/mysite它会显示预期的结果,即Google的主页,但不会发送Google的图片。 当我查看图像的来源时,它是以myhost.mydomain而不是Google URI myhost.mydomain 。 不期望的是为什么图像不被mod_proxy并发送给我。 我如何使mod_proxy “recursion”一个la mod_rewrite 。 同样的,如果我已经熟悉mod_rewrite ,为什么还要用mod_proxy呢?

Google网页上的资源格式为img src="/images/srpr/logo3w.png"或类似的img src="/images/srpr/logo3w.png" ; 这会导致它们从网站的根目录中获取。

看看你如何configuration代理; /mysite/images/srpr/logo3w.png是客户端浏览器需要发送以获取图像的请求。 切换到..

 ProxyPass / http://www.google.com/ 

一切都应该工作。

mod_proxy_html被devise用于改变链接path在代理的上下文中正常工作,但不要指望它工作正确的网站,你不控制,特别是如果任何链接build设完成在客户端JavaScript。

mod_rewritemod_proxy服务完全不同的目的; 如果你在mod_rewrite使用[P]标志,那么你实际上是在使用mod_proxy ,但是效率不如configurationProxyPass