Apache ProxyPass丢失图像

我有一个位于我的glassfish服务器前的apache服务器。 mydomain.com直接进入我在apache上的静态文件,比如果你打到子域forum.mydomain.com它会去到glassfish webapp论坛/在127.0.0.1:8080/forum/。 这个代理似乎工作,把我带到networking应用程序,但所有的图像都失踪了! 这是我如何去我的虚拟主机设置。

NameVirtualHost *:80 <VirtualHost *:80> ServerName www.mydomain.com ServerAlias subdomain.mydomain.com mydomain.com DocumentRoot "/usr/local/apache/htdocs" </VirtualHost> <VirtualHost *:80> ServerName forum.mydomain.com # any logging config, etc, that you need ProxyPass / http://127.0.0.1:8080/forum/ ProxyPassReverse / http://127.0.0.1:8080/forum/ </VirtualHost> 

在访问日志中,这是我所看到的。

 [15/Jan/2012:03:28:02 +0000] "GET /forums/list.page HTTP/1.1" 200 12861 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/logo.jpg HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/styles/style.css?1326582403934 HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_recentTopics.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_search.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_members.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/styles/en_US.css?1326582403934 HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_groups.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_big.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_login.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/whosonline.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_register.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/ping_session.jsp HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_lock.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder.gif HTTP/1.1" 404 1075 [15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_new.gif HTTP/1.1" 404 1075 

任何想法为什么图像不工作?

论坛的代码在/forum/ HTML /forum/ HTML中将/forum/ path硬编码到客户端,或者在其configuration中的某处定义。 如果你可以把它改成/ ,那么; 否则,你可以在你的Apacheconfiguration中解决它:

 <VirtualHost *:80> ServerName forum.mydomain.com ProxyPass /forum/ http://127.0.0.1:8080/forum/ ProxyPassReverse /forum/ http://127.0.0.1:8080/forum/ ProxyPass / http://127.0.0.1:8080/forum/ ProxyPassReverse / http://127.0.0.1:8080/forum/ </VirtualHost> 

您可以通过将重写引擎放置在虚拟主机中来修复它。

 RewriteEngine on RewriteRule ^/forum/(images|javascripts|stylesheets)(.*) /forum/$1$2 

有关更详细的信息,请参阅此处的重写引擎

基于@Mughil答案,我创build下面,以帮助我使用它的所有网站。

 RewriteEngine on RewriteRule ^/(.*)/(images|javascripts|stylesheets)(.*) /$1/$2$3