首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“robots.txt”规则“以”或“包含”规则开头(澄清混淆谷歌文档)

问“robots.txt”规则“以”或“包含”规则开头(澄清混淆谷歌文档)
EN

Webmasters Stack Exchange用户
提问于 2022-02-25 06:30:43
回答 1查看 714关注 0票数 8

在搜索robots.txt模式匹配规则(包括非官方谷歌规则)时,我找到了这个谷歌页面,上面写着

/fish规则匹配以/fish (.)开头的任何路径它与路径/desert/fish不匹配

但他们也说

/fish/规则匹配/fish/文件夹中的任何内容(.)它与路径/animals/fish/匹配

这意味着,只要在规则中定义了路径(如/‘s/),只要在URL路径中找到该模式,就会出现匹配。但是,如果规则没有定义路径,有一个领先的/,但没有尾随的/,那么路径从根开始吗?

(雷克斯可能就像

  • /fish⇨^/fish.*
  • /fish/⇨^.*/fish/.*

.*和第二个^是不必要的,它只是强调正则表达式)

这听起来很违背我的直觉(我认为这可能是谷歌文档中的一个错误)。有人能证实这种对语法的理解吗?

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2022-02-25 13:18:38

/fish/规则匹配/fish/文件夹中的任何内容(.)它与路径/animals/fish/匹配

这看起来确实是Google文档中的一个错误-- IMO (如您所建议的)--原因如下:

  • 这似乎是唯一不遵循robots.txt模式匹配的前缀匹配特性的示例(AFAICS)。模式总是从文档根(从左边)匹配。所以这确实是违反直觉的。
  • 如果您需要在URL路径中的任何位置匹配/fish/,那么可以使用显式通配符,例如。/*/fish/ (甚至*/fish/)。因此,让/fish/在任何地方也匹配是不需要的,也是违反直觉的。
  • 如果模式/fish/与任何地方匹配,那么您就必须始终拥有在URL的其他部分中否定匹配/fish/的规则。这将创造更多的工作,是违反直觉的。例如,如果您有Disallow: /fish/和我用/?/fish/链接到您的主页,那么我实际上创建了一个可以共享的no追随者链接。(这不应该是可能的,至少不是那么容易/偶然的。)
票数 7
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/138750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档