2011-08-29 109 views
27

我似乎無法得到這個工作,但它似乎很基礎。robots.txt只允許root用戶,禁止其他所有內容?

我希望域根被抓取

http://www.example.com 

,但沒有別的被抓取和所有子目錄都是動態

http://www.example.com/* 

我試圖

User-agent: * 
Allow:/
Disallow: /*/ 

但谷歌網站管理員測試工具表示允許所有子目錄。

任何人都有解決方案嗎?謝謝:)

+0

嘗試刪除「允許」行或將其放在「禁止」之後。爬行者應該在第一場比賽中停止。 –

+0

Brian是正確的,首先匹配規則,但要小心不要這樣做,谷歌的「快速瀏覽」將無法加載任何圖像或腳本,因此顯示可能會改變。因此,也許您需要創建至少一個公共文件夾才能讓您的主頁在「快速瀏覽」中顯示出來。 –

回答

-2
User-agent: * 
Allow: index.html (or /index.php) 
Disallow:/

應該做的神奇。

+0

index.html(或.php)不是根路徑「/」 –

25

根據Google's robots.txt documentation中的Backus-Naur Form(BNF)解析定義,AllowDisallow指令的順序無關緊要。所以改變順序真的不會幫助你。

相反,您應該使用$運算符來指示您的路徑關閉。

測試此robots.txt。我敢肯定,它應該爲你工作(我也驗證了GWT):

user-agent: * 
Allow: /$ 
Disallow:/

這將使http://www.example.comhttp://www.example.com/被抓取,但一切阻擋。

注:Allow指令滿足您的特定用途的情況下,但如果你有index.htmldefault.php,這些網址不會被抓取。

附註:我只是非常熟悉Googlebot和bingbot行爲。如果還有其他引擎是你的目標,他們可能會或可能不會有關於如何列出指令的具體規則。所以如果你想要「額外」確定,你總是可以交換AllowDisallow指令塊的位置,我只是設置它們來揭穿一些評論。

+0

只有根頁面可以被抓取?或http://www.example.com/electr/pr.html也可以嗎? – gmlvsv

相關問題