apache 访问日志排除静态文件,如 css|js|png|gif 等

apache 访问日志排除静态文件,如 css|js|png|gif 等

我想减少 Apache 访问日志的大小,并需要从日志记录中排除静态文件,如 js|css|xml|png|gif 等。

我正在解析访问日志来跟踪用户活动和网站数据。

我尝试过 DonNotLog apache 指令,但没有起作用,可能是我的代码存在一些配置问题:(

我的 Apache 配置是 -

SetEnvIf Request_URI "(jpg|css)" DontLog

LogFormat "%v:%p %h %l %u \"%{%s}t\" %D \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{username}n %{sessionID}n" vhost_combined DontLog

答案1

您可以使用和日志记录指令的组合来实现这一点SetEnvIf。例如:

SetEnvIf Request_URI "\.gif$|\.jpg$" is_static

将所有以 .gif 或 .jpg 结尾的 URI 设置为具有环境变量“is_static”。

CustomLog logs/access_log common env=!is_static

意味着所有没有 is_static 环境变量的内容都将以通用格式写入 access_log。

扩展 SetEnvIf 指令中的正则表达式以涵盖您想要的所有文件类型留给读者练习......

相关内容