我在一个应用程序中看到很多异常 - 这是从现成的电子商务网站转换而来的 - 一年前,当蜘蛛遇到不再存在的路线时。这些并不多,但它们有时会被各种蜘蛛一次多次击中。我已经阻止了最严重的罪犯(主要是垃圾蜘蛛),但我无法阻止谷歌和bing明显。手动删除的网址太多了。
我不确定为什么应用程序没有返回404代码,我猜测其中一条路线正在捕获URL并尝试生成视图,但是从那时起资源缺失它返回nil,这就是抛出错误的原因。像这样:
undefined method `status' for nil:NilClass
app/controllers/products_controller.rb:28:in `show'
同样,这个特定的产品已经不见了,所以我不确定为什么应用程序没有返回404页面,而是它尝试生成视图,即使资源没有&#39 ; t存在,它正在检查以确保nil
资源具有公共状态,并且抛出错误。
如果我救援Active:记录未找到,那会这样做吗?这很难测试,因为我必须等待各种机器人才能通过。
我也遇到一些依赖于设置用于跟踪的cookie的链接,如果没有设置cookie,应用程序会在处理请求之前设置它。这似乎并没有与蜘蛛一起工作,而且我已经将这些链接设置为nofollow链接,但这似乎并没有得到所有蜘蛛的尊重。