【问题标题】:Rails 3.1 with Passenger wrong pathRails 3.1 与乘客错误的路径
【发布时间】:2011-11-13 11:39:01
【问题描述】:

我正在尝试使用 Apache 和 Phusion Passenger 为 rails 3.1 设置生产服务器。

让我的应用程序启动和运行很容易,但后来我注意到,如果我单击链接或尝试访问 /admin 中的 ActiveAdmin,我总是会使用绝对服务器路径重定向。因此,而不是 app.domain.com/admin 的 url 变成了 app.domain.com/var/www/vhosts/domain.com/app/public/admin

然后……

Routing Error    
No route matches [GET] "/var/www/vhosts/domain.com/httpdocs/live/public/admin/login"

现在我可以删除错误的路径段“/var/www/vhosts/domain.com/httpdocs/live/public/”并在末尾添加一个“/”,然后页面就会显示出来。

子域指向公用文件夹,我已经尝试过其他方式来部署没有子域等,但我总是遇到这个问题。

同一个应用在 Heroku 上运行,我做错了什么?

【问题讨论】:

  • 我也有同样的问题,你找到解决办法了吗?这让我发疯了,除了一台特定的服务器,我可以让它在任何地方工作。

标签: ruby-on-rails ruby apache passenger


【解决方案1】:

将 config.ru 放入您的应用根目录:

# Require your environment file to bootstrap Rails
require ::File.dirname(__FILE__) + '/config/environment'

# Serve static assets from RAILS_ROOT/public directory
# use Rails::Rack::Static
# Dispatch the request
run ActionController::Dispatcher.new  

https://blog.phusion.nl/2015/03/04/phusion-passenger-5-0-1-released/

【讨论】:

    猜你喜欢
    • 2013-04-05
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多