![]() |
| robots.txt 的语法格式 | |
| “robots.txt”文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL 作为结束符),每一条记录的格式如下所示: “<field>:<optionalspace><value><optionalspace>”。 在该文件中可以使用#进行注解,具体使用方法和UNIX 中的惯例一样。该文件中的记 录通常以一行或多行User-agent 开始,后面加上若干Disallow 行,详细情况如下: User-agent: 在"robots.txt"文件中,如果有多条User-agent 记录说明有多个robot 会受到"robots.txt"的 限制,对该文件来说,至少要有一条User-agent 记录。如果该项的值设为*,则对任何robot 均有效,在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。 如果在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow 行,那么 名为"SomeBot"只受到"User-agent:SomeBot"后面的Disallow 和Allow 行的限制。 Disallow: 这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow 项的值开头的 URL 不会被robot 访问。例如"Disallow:/help"禁止robot 访问/help.html、/helpabc.html、 /help/index.html,而"Disallow:/help/"则允许robot 访问/help.html、/helpabc.html,不能访问/help /index.html。 "Disallow:"说明允许robot 访问该网站的所有url,在"/robots.txt"文件中,至少要有一条 Disallow 记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎robot,该网 站都是开放的。 要拦截整个网站,请使用正斜扛。 Disallow:/ 要拦截目录及其中的所有内容,请在目录名后添加正斜扛。 Disallow:/private_directory/ 要拦截网页,请列出该网页。 Disallow:/private_file.html Allow: 与Disallow 项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow 项的值开头的URL 是允许robot 访问的。例如"Allow:/hibaidu"允许robot 访问/hibaidu.htm、 /hibaiducom.html、/hibaidu /com.html。一个网站的所有URL 默认是Allow 的,所以Allow 通常与Disallow 搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL 的功能。 注意:Disallow 与Allow 行的顺序是有意义的,robot 会根据第一个匹配成功的Allow 或Disallow 行确定是否访问某个URL。 使用 * 匹配字符序列 您可使用星号 (*) 来匹配字符序列。例如,要拦截对所有以"专用"开头的子目录的访问, 可使用下列条目: User-Agent:Googlebot Disallow:/专用*/ 要拦截对所有包含问号 (?) 的网址的访问,可使用下列条目: User-agent:* Disallow:/*? 使用 $ 匹配网址的结束字符 您可使用 $ 字符指定与网址的结束字符进行匹配。例如,要拦截以 .asp 结尾的网址, 可使用下列条目: User-Agent:Googlebot Disallow:/*.asp$ 您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 表示一个会话 ID,您可排 除所有包含该 ID 的网址,确保搜索引擎蜘蛛不会抓取重复的网页。但是,以 ? 结尾的网 址可能是您要包含的网页版本。在此情况下,可对 robots.txt 文件进行如下设置: User-agent:* Allow:/*?$ Disallow:/*? Disallow:/ *? 一行将拦截包含 ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。 Allow: /*?$ 一行将允许包含任何以 ? 结尾的网址(具体而言,它将允许包含所有以您 的域名开头、后接任意字符串,然后是问号 (?),问号之后没有任何字符的网址)。 |
|
| 上一篇:
Robots.txt 介绍
下一篇: robots.txt 使用技巧 |