Apache记录一个导致错误的access.log文件

时间:2015-08-17 03:43:53

标签: apache logging vhosts

我已经通过vhost.conf创建了多个CustomLog文件(为不同的网站创建了日志),因此它们并没有全部登录到access.log

从那里开始,我进一步分离了该网站上的文件夹,并单独记录该信息,以便跟踪使用情况。

守则;删除了一些SetEnvIf Request_URI(就像css和js一样),以便于阅读。

<VirtualHost *:80>
  ServerAdmin support@domain.com
  DocumentRoot "/var/www/domain.com"
  ServerName domain.com
  ServerAlias www.domain.com
  ErrorLog "/var/www/domain_apache_error.log"

## flag image requests
  SetEnvIf Request_URI "(\.gif|\.png|\.jpg)$" image-request=nolog
## flag folder calls
  SetEnvIf Request_URI "^/folder/" folder-request=nolog

## set do_not_log if any of the above flags are set
  SetEnvIf image-request nolog do_not_log
  SetEnvIf folder-request nolog do_not_log

## only log if do_not_log is not set
  CustomLog "/var/www/domain_folder_access.log" common env=folder-request
  CustomLog "/var/www/domain_access.log" common env=!do_not_log
</VirtualHost>

一切都很好,只有一个例外。看起来好像一个特定的结果被缓存并仍然记录在access.log文件中。

示例:

/folder/12/file-name.php
/folder/13/file-name.php
/folder/14/file-name.php
/folder/15/file-name.php
/folder/17/file-name.php

都在domain_folder_access.log

中被记录,就像它们应该一样
/folder/16/file-name.php

仍然出现在access.log

所以,我正在使用apache,Windows / Wamp。并且看起来似乎/folder/16/file-name.php以某种方式'缓存'并且它被记录在错误的文件中。清除信息以便正确记录文件的过程是什么。 (我已经尝试重新启动)而且其他一切都正常工作。

1 个答案:

答案 0 :(得分:0)

在观看access.log并看到access.log文件中记录了“少数”其他文件之后,我意识到那些被记录的文件来自网站的安全版本。即https vs http

更新config / extra / httpd-ssl.conf文件以使用相同的SetEnvIf结构更正了问题。

..对于可能遇到同样问题的任何其他人来说。