gpt4 book ai didi

ruby-on-rails - 通过 .htaccess 配置 Phusion 乘客

转载 作者:行者123 更新时间:2023-12-01 06:47:13 24 4
gpt4 key购买 nike

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

我将从 Redmine 下载的公共(public)目录放入 ~/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}

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

但是,如果我改为使用我的代码库的基于 mod_rewrite 的分辨率,我会收到一个找不到页面的错误。

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

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

最佳答案

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

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

关于ruby-on-rails - 通过 .htaccess 配置 Phusion 乘客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3800508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com