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

Ruby on rails 如何处理Rails中弃用资产的路由?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,在我们的生产日志中,当某个IP(可能是机器人)试图访问不推荐使用的资产时,会出现如下错误: ActionController::RoutingError(没有与[GET]匹配的路由“/fonts/bootstrap/Glyphons.svg”) 这对我们来说没什么大不了的,但我很好奇处理这件事的最佳方式是什么。我觉得我们应该返回410 HTTP状态,而不是它现在给出的404。而且,我真的很想从日志中得到这些30行长的错误消息 Rails中是否有处理这些不推荐的资产路由的最佳实践或约定?我认为

在我们的生产日志中,当某个IP(可能是机器人)试图访问不推荐使用的资产时,会出现如下错误:


ActionController::RoutingError(没有与[GET]匹配的路由“/fonts/bootstrap/Glyphons.svg”)

这对我们来说没什么大不了的,但我很好奇处理这件事的最佳方式是什么。我觉得我们应该返回410 HTTP状态,而不是它现在给出的404。而且,我真的很想从日志中得到这些30行长的错误消息


Rails中是否有处理这些不推荐的资产路由的最佳实践或约定?

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

我不期望使用Nginx,但您可能应该添加如下内容:

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

  return 410;
}

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

嗯,最大的问题是不需要此文件夹中的所有文件都已消失。您可以测试文件是否存在:
if(-f$request\u filename)
。如果没有,则发送错误消息。我已经更新了我的答案。