繁体   English   中英

如何处理 Rails 中弃用资产的路由?

[英]How to handle routing of deprecated assets in Rails?

在我们的生产日志中,当某些 IP(可能是机器人)尝试访问已弃用的资产时,我们会收到这样的错误:

ActionController::RoutingError (No route matches [GET] "/fonts/bootstrap/glyphicons-halflings-regular.svg")

这对我们来说没什么大不了的,但我很好奇处理这个问题的最佳方法是什么。 我觉得我们应该返回 410 HTTP 状态,而不是它现在给出的 404。 此外,真的很想从日志中获取这 30 行长的错误消息。

Rails 中是否有处理这些已弃用的资产路由的最佳实践或约定?

我认为最好由您的网络服务器完成,而不是 Rails 应用程序。

我不是对 Nginx 的期望,但您可能应该添加如下内容:

location ~* /fonts/bootstrap/ {
  if (-f $request_filename) {
    break;
  }

  return 410;
}

Nginx 位置文档将提供有关如何正确执行此操作的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM