Rails 未在生产中呈现 404

Rails not rendering 404 in production

我有一个 rails 应用程序。在生产中,我的应用程序抛出路由错误而不是呈现 404.html 或 500.html。为什么 Rails 会抛出错误而不是呈现 404 页面? (来自 dev config.consider_all_requests_local = false 的输出)

Started GET "/asdfadsfdsaf" for 127.0.0.1 at 2015-03-04 16:51:12 -0500

ActionController::RoutingError (No route matches [GET] "/asdfadsfdsaf"):
 ...

只要您的应用是 运行,您的网络服务器就不会生成 404。

如果您想让路由错误生成 404,请参阅本文中的讨论:render a 404 page on routing error in rails

检查您的 config/environment/*.rb 文件(对应于您的环境)。它应该包含以下字符串:

config.consider_all_requests_local = false

检查此值是否设置为 false。在这种情况下,将呈现 404.html ot 500.html 个文件。