无法使Apache CustomLog工作

时间:2017-06-29 21:28:47

标签: apache

我正在尝试为我的httpd.conf文件创建一个CustomLog指令。我插入的指令是

LogFormat "%h %t %t %{Referer}i" testx
CustomLog /var/www/httpd-logs/example.com.access.log testx

我有%t两次,所以我可以看到日志条目更容易。但事实并非如此。我在日志中看到的只是一行开头的“testx”,没有其他数据。

另外,我注意到Apache日志记录的文档将引号括在%{Refered} i附近但如果我这样做,就像

LogFormat "%h %t %t "%{Referer}i"" testx 

ISP经理不会接受它进入httpd.conf。

最后,我真正想要记录的是标题Accept值(HTTP_ACCEPT),所以我尝试制作LogFormat行

LogFormat "%h %t %t %{Accept}i" testx

但这也不起作用。

有谁看到我在这里做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

首先,如果你想让它们在那里,你必须逃避这些双引号,如下所示:

LogFormat "%h %t %t \"%{Referer}i\"" testx

那就是说,你的例子适合我:

LogFormat "%h %t %t %{Referer}i" testx
CustomLog /example/path/example.com.access.log testx

给我(所有禁止的条目只访问我的测试网站的主页):

1.2.3.4 [29/Jun/2017:23:25:20 +0000] [29/Jun/2017:23:25:20 +0000] -
1.2.3.4 [29/Jun/2017:23:25:20 +0000] [29/Jun/2017:23:25:20 +0000] http://www.example.com/
1.2.3.4 [29/Jun/2017:23:25:20 +0000] [29/Jun/2017:23:25:20 +0000] -
1.2.3.4 [29/Jun/2017:23:25:20 +0000] [29/Jun/2017:23:25:20 +0000] -
1.2.3.4 [29/Jun/2017:23:25:22 +0000] [29/Jun/2017:23:25:22 +0000] -
1.2.3.4 [29/Jun/2017:23:25:23 +0000] [29/Jun/2017:23:25:23 +0000] http://www.example.com/

请确保您没有在.htaccess文件中添加它们,并且在进行更改后不要忘记重新启动Apache。