2016-04-29 25 views
0

当Disallow行包含多个URI时会发生什么情况?例如:robots.txt:如何处理不合格的禁止行

Disallow:/tmp/ 

我错误地引入了空格。

Web浏览器如何处理这个标准方法吗?难道他们忽略了整条生产线,或者直接忽略第二URI并把它想:

Disallow:/
+1

非常严格地阅读['robots.txt'标准](http://www.robotstxt.org/orig.html)时,该空间是该字段价值的一部分,因为预期的处理方式与'用户代理'这一行。我会认为它相当于'/%20tmp /'。但是,其他实施者可能会不同意。该标准是相当低劣的。 – 2016-04-29 10:07:42

+0

最简单的验证方法是简单地使用Google的网站管理员工具并检查其robots.txt解析器/帮助程序。 –

+0

不幸的是,我现在无法访问Web服务器,显然这个工具是为了与一个域一起工作的,我不能只提交一个robots.txt ... – karmapolice

回答

1

谷歌,至少,似乎对待第一个非空格字符作为路径的开始,最后非空间性格作为结束。任何中间的东西都被视为路径的一部分,即使它是一个空间。谷歌还默默地百分比编码路径中的某些字符,包括空格。

所以下面:

Disallow:/tmp/ 

将阻止:

http://example.com/%20tmp/ 

却会块:

http://example.com/tmp/ 

我已经验证了这对谷歌的robots.txt测试。 YMMV适用于Google以外的抓取工具。

相关问题