Directory 不允许目录内容,但允许robots.txt中的目录页

Directory 不允许目录内容,但允许robots.txt中的目录页,directory,block,robots.txt,Directory,Block,Robots.txt,这是否适用于禁止目录下的页面,但仍然允许该目录url上的页面 Allow: /special-offers/$ Disallow: /special-offers/ 允许: www.mysite.com/special-offers/ 但是阻止: www.mysite.com/special-offers/page1 www.mysite.com/special-offers/page2.html etc标准 根据定义,Disallow(无双关语)中允许的值是部分URI(表示部分或完整路径),

这是否适用于禁止目录下的页面,但仍然允许该目录url上的页面

Allow: /special-offers/$
Disallow: /special-offers/
允许:

www.mysite.com/special-offers/

但是阻止:

www.mysite.com/special-offers/page1

www.mysite.com/special-offers/page2.html

etc标准 根据定义,
Disallow
(无双关语)中允许的值是部分URI(表示部分或完整路径),仅:

“Disallow”字段指定不被访问的部分URI。这可以是完整路径,也可以是部分路径;将不会检索以此值开头的任何URI。比如说,

禁止:/help同时禁止/help.html和/help/index.html,而

不允许:/help/将不允许/help/index.html,但允许/help.html

我不认为从那以后有什么变化,因为现在根本不提
robots.txt

扩展 然而,在实践中,许多机器人引擎(例如)在接受什么方面更灵活。如果您使用,例如:

Disallow: /*.gif$
然后Googlebot将跳过任何扩展名为
gif
的文件。我认为您可以这样做来禁止文件夹下的所有文件,但我不是100%确定(您可以使用以下方法进行测试):

其他选择 无论如何,你不应该太依赖它(因为每个搜索引擎的行为可能不同),所以如果可能的话,最好使用它。例如,您可以将Web服务器配置为在所有不应索引(或遵循)的响应中包含此标头:

在特定的Web服务器中搜索执行此操作的最佳方法。下面是Apache中的一个示例,它与结合使用可以根据URL模式有条件地设置一些头。免责声明:我还没有亲自测试过,所以我不知道它的工作情况如何

# all /special-offers/ sub-urls set env var ROBOTS=none
RewriteRule ^/special-offers/.+$ - [E=ROBOTS:none]

# if env var ROBOTS is set then create header X-Robots-Tag: $ENV{ROBOTS}
RequestHeader set X-Robots-Tag %{ROBOTS}e env=ROBOTS

(注意:
none
相当于
noindex,nofollow

看看谷歌自己的网站,他们做的正是我所质疑的

在第136-137行,他们有:

Disallow: /places/
Allow: /places/$
因此,他们在places下阻止任何内容,但允许根位置URL。我的语法唯一的区别是顺序,
Disallow
是第一个

# all /special-offers/ sub-urls set env var ROBOTS=none
RewriteRule ^/special-offers/.+$ - [E=ROBOTS:none]

# if env var ROBOTS is set then create header X-Robots-Tag: $ENV{ROBOTS}
RequestHeader set X-Robots-Tag %{ROBOTS}e env=ROBOTS
Disallow: /places/
Allow: /places/$