本文共 843 字,大约阅读时间需要 2 分钟。
访问日志不记录静态文件
按F12默认定位在network重新刷新网页每一行都是元素修改虚拟主机配置文件SetEnvif 环境 ENV=!img验证上传图片之后 访问有图片显示日志里面却没有记录PNG配置静态元素的过期时间修改虚拟主机配置文件编辑主配置文件 打开expires模块查看模块是否开启验证去掉模块再次验证没有过期时间apache 日志中记录代理IP以及真实客户端IP默认情况下log日志格式为:LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined其中%h 是记录访问者的IP,如果在web的前端有一层代理,那么这个%h其实就是代理机器的IP,这不是我们想要的。在这种情况下,%{X-FORWARDED-FOR}i 字段会记录客户端真实的IP。所以log日志改为:LogFormat "%h %{X-FORWARDED-FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedapache只记录指定URI的日志我的需求是,把类似请求 www.aaa.com/aaa/... 这样的请求才记录日志。在httpd.conf 或者 相关的虚拟主机配置文件中添加SetEnvIf RequestURI "^/aaa/.*" aaa-requestCustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/aaa-access%Y%m%d.log 86400" combined env=aaa-request这样就可以了。这个原理和不记录图片等静态访问的日志(。转载于:https://blog.51cto.com/13492528/2083243