Apache-2.2
訪問某些目錄時如何禁用apache日誌記錄?
如何讓 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”正則表達式中的 ^ 以使用您的範例並添加了更多解釋。