【问题标题】:Phusion Passenger Configuration via .htaccess通过 .htaccess 配置 Phusion 乘客
【发布时间】:2010-09-27 01:00:48
【问题描述】:

我正在尝试安装 Redmine,但我无法让 Phusion Passenger 使用 DocumentRoot 以外的任何目录。

我已经把从 Redmine 下载的公共目录放到 ~/www/public/entry/redmine.mysite.com/ 中,其余目录放到 ~/www/app/redmine.mysite.com/ 中。

我在公用文件夹内的 .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 应用程序根目录。

【问题讨论】:

    标签: ruby-on-rails .htaccess passenger


    【解决方案1】:

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

    我以为它指的是实际的 URI 字符串,但事实并非如此!

    【讨论】:

    • ...除了现在生成的所有链接都包含/entry/...。
    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2011-12-09
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多