在robots.txt文件中,我有以下部分
User-Agent: Bot1
Disallow: /A
User-Agent: Bot2
Disallow: /B
User-Agent: *
Disallow: /C
Run Code Online (Sandbox Code Playgroud)
Disallow:cBot1和Bot2会显示声明吗?
tl;博士:不,Bot1和Bot2将乐于抓取路径C.
每个机器人最多只能符合一个记录(块).
在原始规范中它说:
如果值为"*",则记录将描述任何未与任何其他记录匹配的机械手的默认访问策略.
原始规范,包括一些附加内容(如Allow)成为RFC的草案,但从未被接受/发布.在3.2.1用户代理行中,它说:
机器人必须遵守/robots.txt中包含User-Agent行的第一条记录,该行的值包含机器人的名称标记作为子字符串.名称比较不区分大小写.如果不存在这样的记录,它应该服从具有"*"值的用户代理行的第一个记录(如果存在).如果没有记录满足任何条件,或者根本没有记录,则访问是无限制的.
因此它确认了对原始规范的解释.
robots.txt文件中的每个部分都是独立的,不构建在前面的部分之上.例如:
Run Code Online (Sandbox Code Playgroud)User-agent: * Disallow: /folder1/ User-Agent: Googlebot Disallow: /folder2/在此示例中
/folder2/,Googlebot 仅禁止匹配的网址.