使用Passenger在子目录中部署rails应用程序

时间:2011-10-18 15:22:42

标签: ruby-on-rails ruby apache passenger mod-proxy

我有一个网站:http://foo.com 我想在:http://foo.com/subdir中添加一个rails应用程序 所以我使用Apache代理来完成它。

在使用Rails应用程序的服务器中,我有Passenger和Apache,以及我的VirtualHost:

<VirtualHost *:80>
  ServerName 1.2.3.4

  DocumentRoot /path/to/railsapp/public
  RailsEnv production
</VirtualHost>

当我去http://foo.com/subdir时,所有的路径都是incorect(http://foo.com/images, http://foo.com/users,...等)但是我想要的是一个子目录(http://foo.com/subdir/images,http://foo.com/subdir/users,...等)

那我该怎么办呢?

PS:我尝试了RailsBaseURI,但它不起作用:(。

3 个答案:

答案 0 :(得分:1)

我将我的申请移至subdir/

我用:

创建了一个.htaccess
PassengerEnabled on
PassengerAppRoot /path/to/railsapp/subdir

我的VirtualHost:

  DocumentRoot /path/to/railsapp/  
  <Directory /path/to/railsapp/subdir>
    AllowOverride All
    RailsBaseURI /subdir
  </Directory>

感谢AlexD试图帮助我。

答案 1 :(得分:1)

答案 2 :(得分:1)

从Google搜索结束此处,以为我会分享有关此内容的最新信息。

请参阅Passenger的Deploying an app to a sub-URI or subdirectory文档。

不推荐使用

RailsBaseURI / RackBaseURI,请使用PassengerBaseURI