【问题标题】:robots.txt needs only certain files and folders and disallow everythingrobots.txt 只需要某些文件和文件夹,并且不允许所有内容
【发布时间】:2015-08-25 00:21:43
【问题描述】:

我希望 robots.txt 只允许 index.phpimages 文件夹并禁止所有其他文件夹,这可能吗?

这是我的代码:

User-agent: *
Allow: /index.php
Allow: /images
Disallow: /

其次,是否可以用 htaccess 做同样的工作?

【问题讨论】:

    标签: .htaccess robots.txt


    【解决方案1】:

    首先,请注意“允许”选项实际上是一个非标准扩展,并且并非所有爬虫都支持。请参阅wiki page(在“非标准扩展”部分)和robotstxt.org page

    目前这有点尴尬,因为 没有“允许”字段。最简单的方法是将所有文件 不允许进入一个单独的目录,说“东西”,然后离开那个 该目录上一级的文件:

    一些主要的爬虫确实支持它,但令人沮丧的是,它们以不同的方式处理它。例如。 Google 通过匹配字符和路径长度来优先考虑 Allow 语句,而 Bing 更喜欢您将 Allow 语句放在首位。不过,您上面给出的示例在这两种情况下都适用。

    请记住,那些不支持它的爬虫只会忽略它,因此只会看到您的“禁止”规则,从而有效地阻止它们将您的整个网站编入索引!您必须确定移动文件的额外工作(或为所有子目录编写一长串禁止规则)是否真的值得被较小的爬虫索引。应该不会吧。

    参考 htaccess,你不能在这里用它做任何有用的事情。您必须将用户代理与大量已知机器人进行匹配,最终您会错过一些 - 或者更糟糕的是,阻止真实用户。

    【讨论】:

      【解决方案2】:

      是的,该代码是正确的。 robots.txt 文件是从上到下读取的,只要disallow 在底部,您就不会遇到问题。这是因为它匹配第一条规则,如果 disallow 在顶部,那么它永远不会到达 allow 语句。

      编辑/旁注:
      这仅适用于遵循标准的“好”(Googlebot、Bingbot 等)机器人。许多其他机器人要么误解了robots.txt 文件,要么完全忽略了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-16
        • 2023-03-15
        • 2017-08-10
        • 2012-05-26
        相关资源
        最近更新 更多