我想按照this post在我的rails应用程序上呈现错误页面,但是将其更改为与Heroku一起使用。
后置筹码:Rails + Nginx + Capistrano 我的堆栈:Rails + Heroku。
my-app.herokuapp.com/assets/XXX.html
网址正在运行,但我需要呈现my-app.herokuapp.com/XXX.html
我想我需要更改从帖子中获取的以下代码,以便与Heroku一起使用!
root /myapp/current/public;
error_page 404 /404.html;
location /404.html {
internal;
root /myapp/current/public/assets;
}
答案 0 :(得分:0)
Heroku与您关注的原始帖子完全不同:
默认情况下,您的应用在应用 public / 目录中的html文件中提供404,422和500的其他错误。
对于503错误,您需要设置ERROR_PAGE_URL
环境变量,该变量指向发生错误时要服务的静态页面:
heroku config:set ERROR_PAGE_URL=//s3.amazonaws.com/<your_bucket>/your_error_page.html
有关其他自定义设置,请参阅https://devcenter.heroku.com/articles/error-pages#configure-your-application。
答案 1 :(得分:0)
前几天我做了那个功能,我找到了最清晰实用的文章https://thepugautomatic.com/2014/08/404-with-rails-4/
但是如果你想要处理500或其他错误,你应该在路由中添加一个字符串,并在'CustomPublicExceptions'中添加条件到状态