Robots.txt,如何只允许访问域根目录,而不是更深入?

WAS*_*Sa2 13 robots.txt

我想允许爬虫访问我的域的根目录(即index.html文件),但没有更深层次的(即没有子目录).我不想在robots.txt文件中单独列出和拒绝每个子目录.目前我有以下内容,但我认为它阻止了所有内容,包括域根目录中的内容.

User-agent: *
Allow: /$
Disallow: /
Run Code Online (Sandbox Code Playgroud)

我怎么能写我的robots.txt来完成我想要的东西?

提前致谢!

Jim*_*hel 10

没有什么能适用于所有爬虫.有两个选项可能对您有用.

允许使用通配符的机器人应支持以下内容:

Disallow: /*/
Run Code Online (Sandbox Code Playgroud)

主要的搜索引擎爬虫了解通配符,但遗憾的是大多数较小的通配符都没有.

如果根目录中的文件相对较少,并且您不经常添加新文件,则可以使用Allow这些文件来访问这些文件,然后使用它Disallow: /来限制其他所有文件.那是:

User-agent: *
Allow: /index.html
Allow: /coolstuff.jpg
Allow: /morecoolstuff.html
Disallow: /
Run Code Online (Sandbox Code Playgroud)

这里的顺序很重要.爬虫应该参加第一场比赛.因此,如果您的第一个规则是Disallow: /,正常行为的爬虫将无法访问以下Allow行.

如果抓取工具不支持Allow,那么它将会Disallow: /在您的网站上看到并且不会抓取任何内容.当然,提供它忽略了robots.txt中它不理解的东西.

所有主要的搜索引擎爬虫都支持Allow,许多较小的搜索引擎也支持.它很容易实现.