robots.txt 允许除少数子目录外的所有子目录

Posted

技术标签:

【中文标题】robots.txt 允许除少数子目录外的所有子目录【英文标题】:robots.txt allow all except few sub-directories 【发布时间】:2015-04-14 06:44:25 【问题描述】:

我希望我的网站在搜索引擎中被索引,除了少数子目录。以下是我的robots.txt 设置:

根目录下的robots.txt

User-agent: *
Allow: /

在子目录中单独robots.txt(待排除)

User-agent: *
Disallow: /

是正确的方式还是根目录规则会覆盖子目录规则?

【问题讨论】:

【参考方案1】:

User-agent: *
Disallow: /

如果您正在开发一个新网站并且不希望搜索引擎索引您不完整的网站,则上述指令很有用。 另外,您可以在here 获得高级信息

【讨论】:

这将阻止所有不是 OP 想要的内容。 另请注意,并非所有爬虫都尊重 robots.txt,因此它不能替代真正的访问控制机制。【参考方案2】:

您可以使用位于根目录中的 robots.txt 来管理它们。确保在 disallow 模式之前有 allow 模式。

【讨论】:

【参考方案3】:

不,这是错误的。

您不能在子目录中包含 robots.txt。您主机的 robots.txt must be placed in the document root。

如果您想禁止抓取路径以/foo 开头的网址,请在您的 robots.txt (http://example.com/robots.txt) 中使用此记录:

User-agent: *
Disallow: /foo

这允许抓取所有内容(因此不需要Allow),除了类似的网址

http://example.com/foo http://example.com/foo/ http://example.com/foo.html http://example.com/foobar http://example.com/foo/bar

【讨论】:

我可以有一个单独的robots.txt作为子域目录吗? 每个子域都是一个新的主机,因此对于foo.example.com,robots.txt 需要在foo.example.com/robots.txt 上可用。只要机器人在访问此保留 URL 时看到 robots.txt,您如何在服务器端实现这一点并不重要。

以上是关于robots.txt 允许除少数子目录外的所有子目录的主要内容,如果未能解决你的问题,请参考以下文章

限制除少数页面外的整个 WP 站点访问 [关闭]

如何将文件夹的每个子文件夹中除最新文件外的所有文件压缩为每个子文件夹一个 ZIP 文件?

在MySQL中显示除少数记录外的所有记录[重复]

使用 htaccess 拒绝访问除少数文件夹外的所有文件夹

使用 spring SecurityWebFilterChain 如何禁用/阻止除少数已知路径外的所有非 https 请求

python3 爬虫5--分析Robots协议