robots.txt -- 用户代理块之间需要空行,还是可选的?
robots.txt -- blank lines required between user-agent blocks, or optional?
权威文档来源中的描述看似矛盾。
A Standard for Robot Exclusion:
('record' 指的是每个用户代理块)
"The file consists of one or more records separated by one or more
blank lines (terminated by CR,CR/NL, or NL). Each record contains
lines of the form ...".
Google的Robot.txt Specifications:
"... Note the optional use of white-space and empty lines to improve
readability."
所以 -- 根据我们可用的文档 -- 此处的空行是强制性的吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
或者,这样可以吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
Google Robots.txt Parser and Matcher Library does not have special handling for blank lines. Python urllib.robotparser 总是将空行解释为新记录的开始,尽管它们不是严格要求的并且解析器也将 User-Agent:
识别为一个。因此,您的两种配置都适用于任一解析器。
然而,这是两个突出的 robots.txt
解析器所特有的;你仍然应该以最常见和明确的方式来编写它,以处理写得不好的自定义解析器。
最好不要有空行。我的 robots.txt 文件有问题,在删除所有空行后一切正常。
权威文档来源中的描述看似矛盾。
A Standard for Robot Exclusion:
('record' 指的是每个用户代理块)
"The file consists of one or more records separated by one or more blank lines (terminated by CR,CR/NL, or NL). Each record contains lines of the form ...".
Google的Robot.txt Specifications:
"... Note the optional use of white-space and empty lines to improve readability."
所以 -- 根据我们可用的文档 -- 此处的空行是强制性的吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
或者,这样可以吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
Google Robots.txt Parser and Matcher Library does not have special handling for blank lines. Python urllib.robotparser 总是将空行解释为新记录的开始,尽管它们不是严格要求的并且解析器也将 User-Agent:
识别为一个。因此,您的两种配置都适用于任一解析器。
然而,这是两个突出的 robots.txt
解析器所特有的;你仍然应该以最常见和明确的方式来编写它,以处理写得不好的自定义解析器。
最好不要有空行。我的 robots.txt 文件有问题,在删除所有空行后一切正常。