Apache反向代理可以排除某些文件types吗?

我有一个服务于Rails 3.x的Apache / Passenger组合,以及通过反向代理服务Rails 2.x的相同组合。 我这样做的原因是因为Rails 2.x使用比Ruby / Passenger使用的Ruby更旧的Ruby版本。

但是,在Passenger Standalone不支持的Rails 2.x应用程序中有一些php。 (由黎红丽在乘客讨论组确认)。 Honglibuild议排除反向代理中的'php'位。

可以做到这一点,如果是的话如何?


编辑以显示如何设置反向代理:

<VirtualHost *:80> ServerName gtt DocumentRoot /home/purvez/www/gtt/public RailsEnv development PassengerEnabled off ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost> 

另外一个普通的网站如何build立:

 <VirtualHost *:80> ServerName testapp DocumentRoot /home/purvez/www/testapp/public RailsEnv development </VirtualHost> 

您可以使用ProxyPassMatch排除,如下所示:

 <VirtualHost *:80> serverName gtt DocumentRoot /home/purvez/www/gtt/public RailsEnv development PassengerEnabled off ProxyPassMatch .*\.php$ ! ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost> 

请注意,这会导致名为gtt的虚拟主机中的所有“php位”从/home/purvez/www/gtt/public在本地提供服务。

希望这能让你朝着正确的方向前进。