2017-03-29 36 views
1

我試圖阻止的內容索引中的某些文件夾與x-robots tagNginx使用以下配置的索引:正確nginx的配置,以防止某些文件夾

location ~ .*/(?:archive|filter|topic)/.* { 
add_header X-Robots-Tag "noindex, follow";  
} 

內容保持索引,我不能調試Nginx配置。

我的問題:我使用的配置是否正確,我應該等到googlebot重新抓取內容並取消索引內容?或者我的配置錯誤?

+0

您是否嘗試過普通的老'的robots.txt:本作時,有一個機會,一個位置塊可能不會被處理(因爲短路,像return或重寫等一last)是有用的'? –

+0

無論如何,我想你的配置中還有其他一些規則。我很確定這個位置沒有被使用。顯示完整配置 –

+0

@AlexeyTen robots.txt不會阻止建立索引。問題只是:配置的語法是否正確:是/否? –

回答

2

你寫的配置是正確的。我會給出一個警告(假設你的配置是其他標準的):

當結果代碼是200,201,204,206,301,302,303,304,307時,它只輸出X-Robots-Tag。或307(例如,內容匹配磁盤文件,發佈重定向等)。所以,如果你有一個/archive/index.html,打到http://yoursite.com/archive/將會給頭。如果index.html不存在(404),您將看不到標籤。

always參數將輸出所有響應代碼標題中,假設位置塊進行處理:

location ~ .*/(?:archive|filter|topic)/.* { 
    add_header X-Robots-Tag "noindex, follow" always;  
} 

另一種選擇將保證報頭是上一個URI匹配輸出。

http { 
    ... 
    map $request_uri $robot_header { 
     default ""; 
     ~.*/(?:archive|filter|topic)/.* "noindex, follow"; 
    } 

    server { 
     ... 
     add_header X-Robots-Tag $robot_header; 
     ... 
    } 
+0

有趣的點' index.html'。如果'http:// yoursite.com/archive /'是一種符號鏈接,或者這個URL是通過重寫規則構建的,配置應該如何相似? –

+0

我已經添加了一些更多的答案... –

相關問題