我想允许爬虫访问我的域的根目录(即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
,许多较小的搜索引擎也支持.它很容易实现.