我正在尝试为我的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
但这也不起作用。
有谁看到我在这里做错了什么?感谢。
答案 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。