我很少在我管理的网站上看到以下错误:
参数是错误的类型,是 超出可接受的范围,或者在 相互冲突
当我自己访问经典ASP页面时,我无法复制问题。值得注意的是,用户代理几乎总是:
ia_archiver(+ http://www.alexa.com/site/help/webmasters; crawler@alexa.com)
该脚本是一个产品搜索页面,它使用相当标准的ASP分页。相关代码如下所示:
...
Set rs=Server.CreateObject("ADODB.Recordset")
rs.CacheSize = iPageSize
rs.PageSize = iPageSize
rs.Open mySQL, Conntemp, adOpenStatic, adLockReadOnly, adCmdText
...
我很确定游标和锁类型是否正确。显然如果他们错了,我希望脚本根本不工作。我唯一能想到的是,这是与记录集对象仍在打开(和连接池)有关,而Alexa蜘蛛再次点击该网站,导致冲突。
有没有人对如何解决这个问题有任何想法?错误很少发生(500,000页面浏览量每月1次),但我仍然希望确保在可能的情况下没有错误。我唯一能想到的解决方法是使用robots.txt从此页面中排除机器人。
此致
Junto
答案 0 :(得分:2)
在开始将其投入函数之前,您是否正在对浏览器的输入进行一些检查,您可能认为变量在可能不存在时会变好吗?
例如。您的查询字符串是什么样的?
如果喜欢这个?page = 4并且你在想要的页面中读到它,因为它必须是从你的代码生成的。如果我只是输入那个并且没有第4页会发生什么?我认为这更可能是你的问题。
可能是Alexa猜测你可能只有你的查询字符串可以索引一大堆页面。即它可能会看到你总是有类似的东西?page = X所以循环通过它们以确保它全部获取它们并在它出现错误/ 404时停止?只是吐了那个球。