Apache-2.2

訪問某些目錄時如何禁用apache日誌記錄?

  • March 7, 2010

如何讓 apache 防止基於目錄記錄 http 請求?我想做類似的事情

<IfModule mod_userdir.c>
   UserDir public_html

   <Directory /home/*/public_html/nolog>
       Options NoAccessLog
   </Directory>
</IfModule>

您可以在請求特定 URL 時設置環境標誌並根據該 URL 過濾日誌記錄:

<IfModule mod_userdir.c> 
   UserDir public_html 

   SetEnvIf Request_URI "/nolog" dontlog
   CustomLog /var/log/apache2/useraccess_log combined env=!dontlog
</IfModule> 

所有相關閱讀都可以在http://httpd.apache.org/docs/2.2/env.html 部分“使用環境變數 - 條件日誌”中找到

這兩行的作用是,每當客戶端請求包含字元串“/nolog”的 URL 時,它都會設置環境變數 dontlog。

在下一行中,選項“env=!dontlog”告訴 CustomLog 指令記錄客戶端訪問,除非設置了變數 dontlog。這 !否定指令。如果你願意離開!以便它讀取“env = dontlog”,而不是記錄對請求 URL 中具有“/nolog”的路徑的訪問。

編輯:我刪除了“/nolog”正則表達式中的 ^ 以使用您的範例並添加了更多解釋。

引用自:https://serverfault.com/questions/119953