2011-10-19 75 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

相关问题