2009-10-03 49 views
1

我需要禁止索引2頁,其中的一個動態:
site.com/news.php
site.com/news.php?id=__
site.com/news-all.php的robots.txt和通配符OD禁止

我應該寫在robots.txt中:

User-agent: * 
Disallow: /news 

Disallow: /news* 

Disallow: /news.php* 
Disallow: /news-all.php 

是否應該在最後使用通配符?

+0

如果我想禁止「/page.php?id=N」,但不是「/page.php」本身,我應該如何使用通配符? – Qiao 2009-10-03 14:17:15

+0

我發現谷歌網站管理員有很好的工具 - 「測試robots.txt」。 沒有任何通配符的「Disallow:/ news」對於從「news」開始的所有內容都沒有問題, – Qiao 2009-10-03 14:52:21

回答

1

robots.txt中的Allow和Disallow行表示「允許(或不允許)以」開始的任何內容。

所以:

Disallow: /news.php

相同

當然

Disallow: /news.php*

提供,該機器人閱讀的robots.txt理解通配符。如果機器人不理解通配符,那麼它會將星號視爲實際文件名的一部分。

該行末尾的星號是多餘的,並且可能有危險。

2
User-agent: * 
Disallow: /news.php?id=* 

User-agent: * 
Disallow: /news-all.php 

更多信息here

編輯:

的第一條規則將允許news.php與參數,但允許news.php沒有ID = __。如果你不想爬,你必須/news.php*

1

使用對於確保

Disallow: /news.php 
Disallow: /news-all.php 

news.php是正確的。 如果您有完整的文件名,則不需要星號。 它雖然對我有意思

Disallow: /news* 

方法可以工作。