基本上,我試圖刪除搜索引擎抓取工具,例如Google,Bing以及我的訪問日誌中沒有的工具。隨着時間的推移,它們會逐漸積累起來,最終會在日誌中添加數十萬條無用的訪問日誌條目,如果您需要搜索日誌條目,這尤其是一件痛苦的事情。我遇到的麻煩是,在我的塊中,我正在定義訪問日誌,因此Nginx只是看着那個,忽略我在位置/塊中定義的第二個。如果我註釋掉我的網站訪問日誌(不是抓取塊),那麼它工作正常。下面是配置:Nginx禁用某些用戶代理的日誌記錄
server {
listen 80;
server_name example.com;
access_log /home/domains/example.com/logs/access;
error_log /home/domains/example.com/logs/error;
root /home/domains/example.com/forums;
location/{
index index.html index.htm;
if ($http_user_agent ~* ("googlebot")) {
access_log off;
}
}
我在發佈內容中刪除,只是一切(包括PHP,並沒有什麼),但我已經檢查,沒有什麼是評論的一切,除了進行上文什麼是一切干擾它。所以總結一下,我在虛擬塊中定義了一個記錄所有流量的日誌(我已經爲每個塊定義了日誌,使它更整潔,沒有,我試圖禁止某些用戶代理的日誌記錄,除非我禁用網站的主要日誌,它會繼續記錄我告訴它不要給用戶代理。
我一直在這裏幾個小時,現在,任何幫助將不勝感激
謝謝,但我遇到的問題不是用戶代理的匹配。相反,出於某種原因,我無法關閉所有用戶代理的日誌記錄,除非我刪除了我的塊的定義的日誌位置。 – Ryan
它看起來與用戶代理匹配是個問題,因爲'access_log'不會被執行,除非正則表達式匹配。我也使用類似於你的conf來測試它,它工作得很好。 –
我意識到我沒有完全正確的語法,但它足以挑選Google。例如,如果我在access_log後面輸入「return 403」,它將返回403,但是日誌仍然保留,除非我刪除爲該服務器塊上的所有請求定義的日誌。 – Ryan