处理由蜘蛛生成的rails应用程序中的错误

时间:2012-06-03 13:09:46

标签: ruby-on-rails-3 web-crawler googlebot

我在一个应用程序中看到很多异常 - 这是从现成的电子商务网站转换而来的 - 一年前,当蜘蛛遇到不再存在的路线时。这些并不多,但它们有时会被各种蜘蛛一次多次击中。我已经阻止了最严重的罪犯(主要是垃圾蜘蛛),但我无法阻止谷歌和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链接,但这似乎并没有得到所有蜘蛛的尊重。

1 个答案:

答案 0 :(得分:0)

关于404页面的第一个问题。

看看this post,我相信它会对你有帮助。