2011-01-28 31 views
7

簡單的問題。我想補充:Robots.txt:此通配符規則是否有效?

Disallow */*details-print/ 

基本上,在/foo/bar/dynamic-details-print --- foo和酒吧在這個例子的形式阻止規則也可以是完全動態的。

我想這將是簡單的,但後來就www.robotstxt.org有這樣的消息:

還要注意的是通配和正則表達式無論是在用戶代理或禁止線不被支持。用戶代理字段中的'*'是一個特殊的值,意思是「任何機器人」。具體而言,您不能擁有「User-agent:bot」,「Disallow:/ tmp/*」或「Disallow:* .gif」之類的行。

所以我們不能那樣做?搜索引擎是否遵守它?但隨後,有Quora.com's robots.txt文件:

Disallow: /ajax/ 
Disallow: /*/log 
Disallow: /*/rss 
Disallow: /*_POST 

那麼,誰是正確的 - 或者我誤解上robotstxt.org的文本?

謝謝!

回答

9

答案是,「這取決於」。 robotstxt.org中定義的robots.txt「標準」是機器人預計支持的最小值。 Googlebot,MSNbot和Yahoo Slurp支持一些常見的擴展,並且真的不知道其他機器人支持什麼。有人說他們支持什麼,有些則不支持。

一般來說,你可以期望主要的搜索引擎機器人支持你寫的通配符,而你在那裏擁有的通配符看起來會起作用。最好的辦法是運行一個或多個these robots.txt驗證程序或使用Google的Webmaster tools進行檢查。

+0

謝謝,正是我在找的東西。乾杯 – Bartek 2011-01-29 22:45:10