在我们的生产日志中,当某些 IP(可能是机器人)尝试访问已弃用的 Assets 时,我们会收到如下错误:
ActionController::RoutingError(没有路由匹配 [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 location doc将提供有关如何正确执行此操作的更多信息。
关于ruby-on-rails - 如何处理 Rails 中已弃用 Assets 的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32634097/