will / in robots.txt还适用于根目录吗?

时间:2013-03-24 11:33:32

标签: robots.txt

在website.com/path/中有一个robots.txt文件,其中包含以下内容:

User-agent: *
Disallow: /

我不希望它申请website.com,只能申请路径本身。

问题是:是/实际意味着./还是指网络根文件夹?

原因:我不想在robots.txt中提供文件夹列表,但如果抓取工具从某个外部链接转到私有,则不应将其编入索引。

3 个答案:

答案 0 :(得分:2)

你的robots.txt必须放在主机根目录中,你不能在example.com/path/robots.txt中拥有robots.txt。

所以你必须将你的robots.txt向上移动一级example.com/robots.txt。现在很明显Disallow: /会阻止此主机上的所有内容。

如果您不想提供有关“私人”网址的信息,则只能指定这些网址的开头(如果可能的话):

User-agent: *
Disallow: /p

这会阻止 example.com/p开头的所有网址,例如:

  • example.com/p
  • example.com/p.html
  • example.com/path
  • example.com/path/
  • example.com/path/foobar
  • example.com/p12asokd1

如果无法做到这一点(例如,如果您的公开网址也可能以此类字符开头),则可以使用robots meta元素。

请注意,在使用robots.txt来屏蔽网址时,搜索引擎仍可能会将您的网址编入索引并在搜索结果中与其相关联(例如,当有人链接到您的私人网址时)。所以这些网址不再那么“私密”了。当使用meta方式时,(礼貌的)搜索引擎甚至不会对URL进行索引,因此这对您来说是一个优势。

答案 1 :(得分:1)

您可以尝试Disallow: /*/,它将阻止任何具有路径和斜杠的内容。这将阻止/foo/bar.html,但不会阻止根目录中的/index.html

不幸的是,它不会阻止/foo,但根据您的网络服务器,对/foo的请求可能会被重定向到/foo/,其中 被阻止

答案 2 :(得分:0)

可悲的是,它也适用于根文件夹。

实际上,每个robots.txt首先应用于根文件夹,然后才能提供有关特定文件夹的详细信息。

来自robotstxt.org

  

当机器人为URL查找“/robots.txt”文件时,它会从URL中剥离路径组件(从第一个单斜杠中删除所有内容),并将“/robots.txt”放在其位置。

     

例如,对于“http://www.example.com/shop/index.html,它会删除”/shop/index.html“,并将其替换为”/robots.txt“,最后会以”http://www.example.com/robots.txt“结尾。