詳談robots.txt 的語法格式!
摘要:詳談robots.txt 的語法格式!,robots.txt語法格式的知識點,robots.txt的注意事項,每當搜索蜘蛛來尋找并不存在的 robots.txt 文件時,服務器也將在日志中記錄一 條 404 錯誤,所以你應該在網站中添加一個 robots.txt。
每當用戶試圖訪問某個不存在的 URL 時,服務器都會在日志中記錄 404 錯誤(無法 找到文件)。每當搜索蜘蛛來尋找并不存在的 robots.txt 文件時,服務器也將在日志中記錄一 條 404 錯誤,所以你應該在網站中添加一個 robots.txt。 那今天
合肥網絡公司小李,就帶大家一起學習一下有關
robots.txt 的語法格式 的知識!
“robots.txt”文件包含一條或更多的記錄,這些記錄通過空行分開(以 CR,CR/NL, or NL 作為結束符),每一條記錄的格式如下所示: “:”。 在該文件中可以使用#進行注解,具體使用方法和 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: /*?$ 一行將允許包含任何以 ? 結尾的網址(具體而言,它將允許包含所有以您 的域名開頭、后接任意字符串,然后是問號 (?),問號之后沒有任何字符的網址)。