【问题标题】:Should I use different case-spellings for case-insensitive directories in robots.txt?我应该对 robots.txt 中不区分大小写的目录使用不同的大小写拼写吗?
【发布时间】:2014-02-25 11:20:55
【问题描述】:

不幸的是,我的服务器不区分大小写,短期内无法更换。有些目录需要从爬取中排除,所以我必须在我的robots.txtDisallow 他们。我们以/Img/ 为例。如果我全部保持小写...

User-agent: *
Disallow: /img/

...它不映射到实际的物理路径,并且带有/Img//IMG/ 的地址不会应用Disallow 指令。爬虫会将这些变化视为不同的路径。

在这件事上看Microsoft’s robots.txt 很有趣。他们可能使用 IIS 服务器,而 SERP 只是充满了不允许的地址——仅在其他情况下。

我能做什么?
陈述以下内容是否有效(且有效)?

User-agent: *
Disallow: /Img/
Disallow: /img/
Disallow: /IMG/

【问题讨论】:

    标签: web-crawler robots.txt case-sensitive


    【解决方案1】:

    最初的 robots.txt 规范没有说明文件路径中的类型,但根据Google's robots.txt specification,文件路径肯定是区分大小写的。谷歌明确声明“禁止:/img/”只阻止“/img/”,而不是“/Img/”或“/IMG/”。您的解决方案绝对有效,并且会解决问题。

    话虽如此,只有当我有理由相信替代案例 URL 确实被抓取并且它们导致了问题时,我才会采用此解决方案。否则,您可以轻松地将 robots.txt 文件变成无法维护的混乱。

    【讨论】:

      【解决方案2】:

      由于Disallow field 将(开头)URL 路径作为值,而URL paths are case-sensitive,您的假设是正确的。

      所以是的,如果你想阻止所有路径以不区分大小写的/img/ 开头的 URL,你需要添加:

      Disallow: /img/
      Disallow: /IMG/
      Disallow: /Img/
      Disallow: /IMg/
      Disallow: /ImG/
      Disallow: /iMg/
      Disallow: /iMG/
      Disallow: /imG/
      

      【讨论】:

        猜你喜欢
        • 2012-02-03
        • 1970-01-01
        • 1970-01-01
        • 2012-10-03
        • 1970-01-01
        • 1970-01-01
        • 2012-12-01
        • 2013-03-06
        • 2020-02-18
        相关资源
        最近更新 更多