我在 very infrequently 看到我管理的网站上记录了以下错误:
参数类型错误,超出可接受的范围,或彼此冲突
当我自己访问经典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从此页面中排除机器人 .
问候
帮派
1 回答
您是否在开始将其投入函数之前对浏览器的输入进行了一些检查,可能是您假设变量在可能不存在时会变好?
例如 . 您的查询字符串是什么样的?
如果它像这样?page = 4并且你在想要的页面中读取它,因为它必须是从你的代码生成的 . 如果我只是输入那个并且没有第4页会发生什么?我认为这更可能是你的问题 .
可能是Alexa猜测你可能只有你的查询字符串可以索引一大堆页面 . 即它可能会看到你总是有类似的东西?page = X所以循环通过它们以确保它全部获取它们并在它出现错误/ 404时停止?虽然只是吐了一个球 .