如果有人使用错误的路线进入我的网站,则会使用404
代码和错误
ActionController::RoutingError No route matches
我可以使用410
代码响应导轨错误而不是404
吗?
答案 0 :(得分:4)
我不确定为什么你会想要410 error(Gone),因为资源曾经可用但不再存在。
如果您按照https://stackoverflow.com/a/5360684/219743的答案进行操作,则可以执行该操作。
只需将render_404方法更改为
即可def render_404
if /(jpe?g|png|gif)/i === request.path
render :text => "404 Not Found", :status => 410 # Change the status here
else
render :template => "shared/404", :layout => 'application', :status => 410 #and here
end
end
如果您仍想在公共文件夹中指向404.html:
render :file => "#{Rails.root}/public/404.html"