通过.htaccess进行Phusion Passenger配置

时间:2010-09-27 01:00:49

标签: ruby-on-rails .htaccess passenger

我正在尝试安装Redmine,而我在使用除DocumentRoot之外的任何目录使Phusion Passenger工作时遇到了麻烦。

我已将从Redmine下载的公共目录放入〜/ www / public / entry / redmine.mysite.com /,其余目录放在〜/ www / app / redmine.mysite.com /。< / p>

我已将以下行添加到公用文件夹中的.htaccess文件中:

PassengerAppRoot ~/www/app/redmine.mysite.com

每当我尝试加载页面时,它只是给我一个简单的Mozilla文件找不到页面。

有什么想法吗?


其他信息:

我设置了一个代码库,以便apache将任何给定的请求URI解析为特定的条目文件夹,如下所示:

DocumentRoot是〜/ www / public

在此文件夹中是.htaccess文件,包括以下规则:

RewriteCond ${lowercase:%{SERVER_NAME}} ^(dev\.)?(stg\.)?(www\.)?(.*)$
RewriteCond %{REQUEST_URI} !^/resource/(.*)$
RewriteRule !^entry/ entry/%4%{REQUEST_URI}

如果我为端口3000创建一个新的VirtualHost,使用DocumentRoot =〜/ www / public / entry / redmine.mysite.com /,一切都会正确加载。

但是,如果我使用我的代码库基于mod_rewrite的分辨率,我会发现找不到页面错误。


如果我访问redmine.mysite.com/404.html,它会加载位于正确文件夹中的404.html页面。


如果我将PassengerAppRoot更改为〜/ www / app / redmine.mysite.com / test,它会通知我该目录似乎不是有效的Ruby on Rails应用程序根目录。

1 个答案:

答案 0 :(得分:0)

看起来解决方案是将RailsBaseURI设置为服务器上DocumentRoot的相对路径,而不是REQUEST_URI!

我原以为它引用了实际的URI字符串,但结果却并非如此!