簡體   English   中英

用於robots.txt的正則表達式-禁止目錄中的內容,但不允許目錄本身

[英]Regex for robots.txt - disallow something within a directory, but not the directory itself

我正在使用具有自定義永久鏈接的wordpress,並且我想禁止發布帖子,但讓蜘蛛可以訪問我的類別頁面。 以下是URL外觀的一些示例:

類別頁面: somesite dot com / 2010 / category-name /

郵寄: somesite dot com / 2010 / category-name / product-name /

因此,我很好奇是否存在某種正則表達式解決方案,可以將頁面保留在/ category-name /允許的位置,而不允許更深的層次(第二個示例)。

有任何想法嗎? 謝謝! :)

下面的技巧可以嗎?

 
 
 
  
  User-agent: * Disallow: /2010/category-name/*/
 
  

您可能需要明確允許/2010/category-name下的某些文件夾:

User-agent: *
Disallow: /2010/category-name/
Allow: /2010/category-name/product-name-1/
Allow: /2010/category-name/product-name-2/

但是根據本文Allow字段不在標准之內,因此某些爬網程序可能不支持它。

編輯:我剛剛發現每個頁面中使用另一個資源。 該頁面對此進行了很好的解釋:

基本思想是,如果您包含如下標記:

 <META NAME="ROBOTS" CONTENT="NOINDEX"> 

在您的HTML文檔中,該文檔將不會被索引。

如果您這樣做:

 <META NAME="ROBOTS" CONTENT="NOFOLLOW"> 

機械手不會解析該文檔中的鏈接。

一些信息可能會有所幫助。

robots.txt協議沒有官方的標准機構或RFC。 它是由機器人郵件列表(robots-request@nexor.co.uk)成員於1994年6月達成共識創建的。 網站頂層目錄中名為robots.txt的文件中指定了指定不應訪問的部分的信息。 robots.txt模式通過簡單的子字符串比較進行匹配,因此應注意確保與目錄匹配的模式附加了最后的'/'字符,否則所有名稱以該子字符串開頭的文件都將匹配,而不僅僅是所需的目錄。

當然 ,除了根本不發布頁面之外, 沒有100%確定的方法可以排除您的頁面。

請參閱: http : //www.robotstxt.org/robotstxt.html

共識中沒有允許。 另外,Regex選項也不在共識中。

來自機器人共識:

由於沒有“允許”字段,目前這有點尷尬。 一種簡單的方法是將所有不允許使用的文件放入一個單獨的目錄(例如“ stuff”),並將一個文件保留在該目錄上方的級別中:

User-agent: *
Disallow: /~joe/stuff/

另外,您可以明確禁止所有不允許的頁面:

User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html

可能的解決方案

使用.htaccess進行設置,以在阻止不良機器人的同時禁止從特定文件夾中搜索機器人。

請參閱: http : //www.askapache.com/htaccess/setenvif.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM