在搜索robots.txt模式匹配规则(包括非官方谷歌规则)时,我找到了这个谷歌页面,上面写着
/fish规则匹配以/fish(.)开头的任何路径它与路径/desert/fish不匹配
但他们也说
/fish/规则匹配/fish/文件夹中的任何内容(.)它与路径/animals/fish/匹配
这意味着,只要在规则中定义了路径(如/‘s/),只要在URL路径中找到该模式,就会出现匹配。但是,如果规则没有定义路径,有一个领先的/,但没有尾随的/,那么路径从根开始吗?
(雷克斯可能就像
/fish⇨^/fish.*/fish/⇨^.*/fish/.*.*和第二个^是不必要的,它只是强调正则表达式)
这听起来很违背我的直觉(我认为这可能是谷歌文档中的一个错误)。有人能证实这种对语法的理解吗?
发布于 2022-02-25 13:18:38
/fish/规则匹配/fish/文件夹中的任何内容(.)它与路径/animals/fish/匹配
这看起来确实是Google文档中的一个错误-- IMO (如您所建议的)--原因如下:

robots.txt模式匹配的前缀匹配特性的示例(AFAICS)。模式总是从文档根(从左边)匹配。所以这确实是违反直觉的。/fish/,那么可以使用显式通配符,例如。/*/fish/ (甚至*/fish/)。因此,让/fish/在任何地方也匹配是不需要的,也是违反直觉的。/fish/与任何地方匹配,那么您就必须始终拥有在URL的其他部分中否定匹配/fish/的规则。这将创造更多的工作,是违反直觉的。例如,如果您有Disallow: /fish/和我用/?/fish/链接到您的主页,那么我实际上创建了一个可以共享的no追随者链接。(这不应该是可能的,至少不是那么容易/偶然的。)https://webmasters.stackexchange.com/questions/138750
复制相似问题