我的Apacheconfiguration永远不会提供资产,但总是重写到我的集群

所以我有一个代理三个rails过程前面的apache。 相当标准,而且工作,但最近我意识到,铁路仍在服务的资产。

为了解决这个问题,我阻止了我的rails进程提供资源(这是一个configuration),然后设置修复我的Apacheconfiguration。 唉,徒然。

我目前的VirtualHostconfiguration如下所示:

 NameVirtualHost *:8081 <VirtualHost *:8081> ServerName pipeguardian.com DocumentRoot "D:/pipeguardian/ruby/Sabic/public" <Directory "D:/pipeguardian/ruby/Sabic/public" > Options Indexes FollowSymLinks MultiViews AllowOverride All Order deny,allow allow from all </Directory> <Proxy *> Order deny,allow Allow from all </Proxy> <Proxy balancer://thin_cluster> BalancerMember http://127.0.0.1:4000 BalancerMember http://127.0.0.1:4001 BalancerMember http://127.0.0.1:4002 </Proxy> ProxyPass / Balancer://thin_cluster/ ProxyPassReverse / balancer://thin_cluster/ #ProxyReserveHost on RewriteEngine On # Redirect all non-static requests to thin #RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://thin_cluster%{REQUEST_URI} [P,QSA,L] </VirtualHost> 

然后我试着如果我可以提供静态文件,并使用以下工作(所以我的文档根目录和权限等设置正确):

 <VirtualHost *:8081> ServerName pipeguardian.com DocumentRoot "D:/pipeguardian/ruby/Sabic/public" <Directory "D:/pipeguardian/ruby/Sabic/public" > Options Indexes FollowSymLinks MultiViews AllowOverride All Order deny,allow allow from all </Directory> </VirtualHost> 

所以我猜测我的RewriteCond检查文件是否存在是错误的,但这看起来很标准,对不对?

我尝试了一堆变化

 RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteCond D:/pipeguardian/ruby/Sabic/public/%{REQUEST_URI} !-f RewriteCond %{REQUEST_FILENAME} !-f 

其中有些是我猜想完全一样的,但是没有一个能工作,我越来越绝望:P

[更新]然后尝试以下设置:

 RewriteCond %{DOCUMENT_ROOT}/$1 -f RewriteRule (.*) - [S=1] RewriteRule ^/(.*)$ balancer://thin_cluster%{REQUEST_URI} [P,QSA,L] 

这是不同的方式做同样的(如果文件存在,跳过下面的规则),但也失败了。 Aaaargghhhh。

所以如果不是很明显:这是一个窗口部署可能会干扰的东西?