2011-10-19 76 views
0

好吧,我一整天都在爲此奮鬥,所以我想現在是時候把我的問題引入到Rails用戶羣中,看看有沒有人可以幫忙。 :)在Apache WITHOUT Passenger中將Rails 3.1應用程序部署到子目錄中

我被限制使用Windows盒作爲服務器,並且我運行XAMPP,從htdocs提供靜態網站。我還運行了兩個端口5000和5001瘦服務器的實例來提供兩個Rails應用程序。我試圖通過Apache設置一個反向代理,以便用戶可以去http://mydomain.com/app1http://mydomain.com/app2。這是我的proxy.conf文件:

<Proxy *> 
    Order deny,allow 
    Allow from All 
</Proxy> 

ProxyVia On 
ProxyPass /app1 http://localhost:5000/app1 
ProxyPassReverse /app1 http://localhost:5000/app1 
ProxyPass /app2 http://localhost:5001/app2 
ProxyPassReverse /app2 http://localhost:5001/app2 

ProxyPreserveHost On 

就原始內容而言,應用程序似乎工作正常;儘管在app1的環境文件中將ENV ['RAILS_RELATIVE_URL_ROOT']設置爲'/ app1',並且在app2的環境文件中將'app2'設置爲'app1',但javascript,stylesheet和image標記不會將'/ app1'或'/app2'添加到其選項卡的HREF和SRC屬性,從而不會導致樣式,腳本或圖像。我搜索了互聯網並嘗試了所有我能找到的東西,但似乎沒有任何效果。我有一種感覺,我錯過了一些非常基本的東西,我只希望有人能夠提供幫助。 :)

回答

0

嘗試......

<Proxy *> 
    Order allow,deny 
    Allow from All 
</Proxy> 

ProxyPreserveHost On 

<Location /app1> 
    ProxyPass http://localhost:5000/app1 
    ProxyPassReverse http://localhost:5000/app1 
</Location> 
<Location /app2> 
    ProxyPass http://localhost:5001/app2 
    ProxyPassReverse http://localhost:5001/app2 
</Location> 
+0

謝謝,嘗試這樣做,也沒有工作。我認爲這個問題對於Apache來說更少,而對於Rails中的資產路徑則更多。就好像即使應用程序由http:// localhost:5001/app1提供,公用文件夾仍然從http:// localhost:5001 / – McCheesy

相關問題