robots.txt 中的指令顺序,它们是相互覆盖还是相互补充?

order of directives in robots.txt, do they overwrite each other or complement each other?

User-agent: Googlebot
Disallow: /privatedir/

User-agent: *
Disallow: /

现在,Googlebot 不允许什么:/privatedir/,或整个网站 /?

根据original robots.txt specification

  1. 机器人必须遵循与其用户代理名称匹配的第一条记录。

  2. 如果没有这样的记录,则必须跟在User-agent: *的记录之后(该行不能出现在多个记录中)。

  3. 如果不存在这样的记录,则不必跟随任何记录。

所以一个机器人永远不会关注一条以上的记录。


对于您的示例,这意味着:

  • 不允许与名称 "Googlebot" 匹配的机器人使用以 /privatedir/.
  • 开头的路径抓取 URLs
  • 不匹配名称 "Googlebot" 的机器人不允许抓取任何 URL.