[英]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進行設置,以在阻止不良機器人的同時禁止從特定文件夾中搜索機器人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.