robots.txt 中路径的开头是否足够?

Is the beginning of a path enough in robots.txt?

我的服务器上有以下文件:

/file
/file.html
/file/bob.html

我想将它们全部排除在索引之外。下面的robots.txt够吗?

User-Agent: *
Disallow: /file

甚至只是:

User-Agent: *
Disallow: /f

注:

我知道 Google 的机器人会接受 /file 禁止它们来自所有提到的文件(参见 https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt),但我不想只解决 Google 但是所有行为良好的机器人,所以我的问题是关于原始标准,而不是后来的扩展。

简而言之,是的。

如果你有:

User-agent: *
Disallow: /abc

它将阻止 任何以 /abc 开头的内容,包括:

/abc
/abc.html
/abc/def/ghi
/abcdefghi
/abc?x=123

这是原始 robots.txt 标准的一部分,它适用于所有遵守 robots.txt 的机器人。

关于 robots.txt 需要记住的一点是,它故意不那么复杂。它被设计为简单易用,便于爬虫实施。除非您使用扩展名(如通配符),否则它只是一个简单的字符串比较。该指令将匹配任何以您提供的字符序列开头的 URL。