在我们的生产日志中,当某些IP(可能是机器人)试图访问已弃用的资产时,我们会收到类似的错误:
ActionController::RoutingError (No route matches [GET] "/fonts/bootstrap/glyphicons-halflings-regular.svg")
对我们来说这不是什么大问题,但我很好奇最好的办法是什么。我觉得我们应该返回410 HTTP状态,而不是它现在给出的404。此外,真的很想从日志中获取这30行长的错误消息。
Rails中是否有最佳做法或惯例来处理这些已弃用的资产路线?
答案 0 :(得分:2)
我认为最好由您的网络服务器完成,而不是Rails应用程序。
我不期待Nginx,但你应该添加这样的东西:
location ~* /fonts/bootstrap/ {
if (-f $request_filename) {
break;
}
return 410;
}
Nginx location doc将提供有关如何正确执行此操作的更多信息。