2014-02-25 75 views
5

不幸的是,我有一些不能在短期內被替換的不區分大小寫的服務器。有些目錄需要被排除在搜尋之外,所以我必須Disallow他們在我的robots.txt。以/Img/爲例。如果我把它全部小寫...我應該在robots.txt中對不區分大小寫的目錄使用不同的大小寫拼寫嗎?

User-agent: * 
Disallow: /img/ 

...它沒有映射到實際的物理路徑,並與/Img//IMG/地址不應用Disallow指令。爬行者會將這些變化視爲不同的路徑。

在這件事上看Microsoft’s robots.txt很有趣。他們可能使用IIS服務器,並且SERP只是充滿了不允許的地址 - 僅限於其他情況。

我該怎麼辦?
說明以下內容是否有效(和有效)?

User-agent: * 
Disallow: /Img/ 
Disallow: /img/ 
Disallow: /IMG/ 

回答

3

原來的robots.txt規範不說有關文件路徑典型案例什麼,但根據Google's robots.txt specification,文件路徑是絕對區分大小寫。 Google明確指出「Disallow:/ img /」只會阻止「/ img /」,而不是「/ Img /」或「/ IMG /」。您的解決方案絕對有效,並且可以解決問題。

這就是說,如果我有理由相信備用案例URL實際上正在被抓取,並且它們引發了問題,我只會訴諸於此解決方案。否則,您可以輕鬆將您的robots.txt文件變爲無法維護的混亂文件。

2

由於Disallow field需要(開始)URL路徑作爲值,並且URL paths are case-sensitive,您的假設是正確的。

所以,是的,如果你想阻止其路徑開始不區分大小寫/img /,你需要添加的所有URL:

Disallow: /img/ 
Disallow: /IMG/ 
Disallow: /Img/ 
Disallow: /IMg/ 
Disallow: /ImG/ 
Disallow: /iMg/ 
Disallow: /iMG/ 
Disallow: /imG/