2011-05-26 69 views
4

我们有一个可以选择将ID作为GET参数的页面。如果提供了无效的ID,则该页面会引发错误并发出通知,指出某人正确访问页面。向火灾中添加燃料是ID可以有效一段时间,然后过期。我可以防止蜘蛛访问带有某些GET参数的页面吗?

我们遇到了一个问题,即搜索引擎漫游器正在使用过期的ID过期。这意味着我们每次出现蜘蛛时都会收到一些“误报”警报。我很想告诉机器人继续并抓取页面,但不要使用GET参数 - 只需索引无参数页面即可。这甚至可以通过robots.txt文件或类似的东西远程执行吗?


注:我知道来解决,这是改变页面的行为,这是,事实上,在几个星期发生的最佳途径。我只是在寻找解决方案。

+0

抛出错误和通知的过期GET参数听起来不像是一个优雅的解决方案。我建议回去寻找一种替代方法,无论你想达到什么目的。 – Mikaveli 2011-05-26 16:10:05

+0

@Mikaveli:正如我在笔记中指出的那样,我们正在积极解决这个问题。这只是一个临时解决方案。 – abeger 2011-05-26 16:14:47

+0

你的应用程序的体系结构是什么 - 语言和环境? – Mikaveli 2011-05-26 16:17:10

回答

1

里面的,如果在您检查_GET,把这个HTML语句:

<meta name="robots" content="noindex, nofollow"> 
<meta name="googlebot" content="noindex, nofollow"> 
1

可以认为蜘蛛忽略与robots.txt文件中的以下网址的某些部分:

User-agent: * 
Disallow: *id= 

编辑澄清:这将导致蜘蛛忽略GET字符串中id = blah的任何URL - 它不会神奇地“剥离”id =部分。但是,这实际上是你想要的,因为没有“?id =”参数的普通URL会返回你想索引的数据。