在robots.txt中只允许一个目录文件?

Bor*_*rja 2 robots.txt

我想只允许一个目录文件/minsc,但我想禁止目录的其余部分.

现在robots.txt是这样的:

User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/
Run Code Online (Sandbox Code Playgroud)

我想要允许的文件是 /minsc/menu-leaf.png

我害怕造成伤害,所以我不知道我是否必须使用:

一个)

User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/
Allow: /minsc/menu-leaf.png
Run Code Online (Sandbox Code Playgroud)

要么

B)

User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/*    //added "*" -------------------------------
Allow: /minsc/menu-leaf.png
Run Code Online (Sandbox Code Playgroud)

谢谢,抱歉我的英语.

pzp*_*pzp 5

根据robots.txt网站:

排除除一个以外的所有文件

这当前有点尴尬,因为没有"允许"字段.简单的方法是将所有不允许的文件放入一个单独的目录,比如"stuff",并将一个文件保留在该目录上方的级别中:

用户代理:*

不允许:/ ~joe/stuff /

或者,您可以明确禁止所有不允许的页面:

用户代理:*

禁止:/〜joe/junk.html

禁止:/〜joe/foo.html

禁止:/〜joe/bar.html

根据维基百科,如果您打算使用Allow指令,它应该在Disallow之前进行以获得最大的兼容性:

Allow: /directory1/myfile.html
Disallow: /directory1/
Run Code Online (Sandbox Code Playgroud)

此外,根据Yandex的说法,你应该把Crawl-delay放在最后:

为了在处理robots.txt时保持与可能偏离标准的机器人的兼容性,需要将Crawl-delay指令添加到在Disallow和Allow指令之后立即以User-Agent记录开头的组中.

因此,最后,您的robots.txt文件应如下所示:

User-agent: *
Allow: /minsc/menu-leaf.png
Disallow: /minsc/
Crawl-delay: 10
Run Code Online (Sandbox Code Playgroud)