我似乎无法让它工作,但它似乎非常基本。
我希望抓取域根目录
http://www.example.com
但没有其他任何内容可以抓取,所有子目录都是动态的
http://www.example.com/*
我试过
User-agent: *
Allow: /
Disallow: /*/
但Google网站站长测试工具表示允许所有子目录。
任何人都有解决方案吗?谢谢:))
答案 0 :(得分:34)
根据Google's robots.txt documentation中的Backus-Naur表格(BNF)解析定义,Allow
和Disallow
指令的顺序并不重要。所以改变订单真的不会帮助你。
相反,您应该使用$
运算符来指示关闭路径。
测试此robots.txt。我确定它应该适合您(我还在Google Search Console中验证过):
user-agent: *
Allow: /$
Disallow: /
这样可以抓取http://www.example.com
和http://www.example.com/
,但其他所有内容都会被屏蔽。
注意: Allow
指令满足您的特定用例,但如果您有index.html
或default.php
,则不会抓取这些网址。< / p>
旁注:我只熟悉Googlebot和bingbot行为。如果您有目标的任何其他引擎,他们可能会或可能不会有关于如何列出指令的具体规则。所以,如果你想成为&#34;额外的&#34;当然,你总是可以交换Allow
和Disallow
指令块的位置,我只是设置它们来揭穿一些评论。
答案 1 :(得分:8)
当您查看google robots.txt规范时,您可以看到:
Google,Bing,Yahoo和Ask支持有限形式的&#34;通配符&#34;对于路径值。这些是:
然后正如eywu所说,解决方案是
user-agent: *
Allow: /$
Disallow: /