2009-01-09 50 views
0

我想代理对Mongreel的所有请求,除了一些在apache上运行fastcgi的ruby应用程序。Apache重写

所以基本上我有http://domain.com/ Mongreel应用
http://domain.com/appa红宝石应用程序被Apache处理被Apache处理
http://domain.com/app_testb红宝石应用

我的httpd.conf看起来是这样的:

RewriteEngine On 
RewriteCond $1 !^(appa|app_testb) 
RewriteRule ^(.*)$ http://127.0.0.1:port/$1 [P] 

但它失败。 http://doamin.com按预期工作,代理到Mongreel,但其他2个应用程序不由apache处理。 任何ideea我的配置有什么问题?

UPDATE或者我怎样才能启用mod_proxy除/ appa/*和/ app_testb/*以外的所有东西?

回答

0

看来我已经找到一种方法被匹配:

ProxyPass /appa ! 
ProxyPass /app_testb ! 
ProxyPass/http://127.0.0.1:port/ 
ProxyPassReverse/http://127.0.0.1:port/ 
2

正确的方法是

 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !appa 
RewriteCond %{REQUEST_URI} !appb 
RewriteRule ^(.*)$ http://127.0.0.1:port/$1 [P] 

RewriteConds看不出什么在规则

+0

http://domain.com/appa它仍然由mongreel – daniels 2009-01-09 20:21:15