我正在尝试安装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应用程序根目录。
答案 0 :(得分:0)
看起来解决方案是将RailsBaseURI设置为服务器上DocumentRoot的相对路径,而不是REQUEST_URI!
我原以为它引用了实际的URI字符串,但结果却并非如此!