2009-01-09 80 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