Robots.txt拒绝除一个域以外的所有域名

时间:2013-10-24 02:30:37

标签: robots.txt

有没有办法拒绝除一个域名以外的所有机器人?我希望搜索引擎不会抓取,除非它是某个域。

2 个答案:

答案 0 :(得分:1)

如果我正确理解您对其他答案的评论,则您有一个通配符子域,以便foo.example.com和bar.example.com以及fooby.example.com最终都会转到同一个地方。只有一条物理路径可以为所有这些域提供服务。

如果是这种情况,那么您无法使用单个robots.txt文件执行此操作。 robots.txt中的规则都是基于域名之后的内容。

我建议您在该目录中创建一个包含以下内容的robots.txt文件:

User-agent: *
Disallow: /

这将阻止所有机器人抓取任何内容。

现在,假设您只有在访问foo.example.com时才允许抓取,我会创建一个重写规则,以便尝试访问foo.example.com/robots.txt而不是从foo获取数据.example.com的/ robots_foo.txt。该文件将包含:

User-agent: *
Disallow:

允许访问所有内容。当然,您可以添加任何不允许的规则。

如果您无法创建重写规则,那么您必须使用Sitemaps。当然,缺点是并非所有抓取工具都能理解Sitemaps。有些人仍然希望以旧的方式爬行。

答案 1 :(得分:0)

用户代理:*

禁止:/

用户代理:The robot you want to allow

允许:/