robots.txt文件的格式
"robots.txt"文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow行,詳細情況如下:
User-agent:
該項的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多條User-agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。
Disallow:
該項的值用于描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如"Disallow:/help"對/help.html 和/help/index.html都不允許搜索引擎訪問,而"Disallow:/help/"則允許robot訪問/help.html,而不能訪問/help/index.html。任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"是一個空文件,則對于所有的搜索引擎robot,該網站都是開放的。
Allow:
該項的值用于描述希望被訪問的一組URL,與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。
使用"*"和"$":
robots支持使用通配符"*"和"$"來模糊匹配url:
"$" 匹配行結束符。
"*" 匹配0或多個任意字符。