Apache CustomLoglogging完整的URL

我想添加一个CustomLog指令到我的apacheconfiguration来logging完整的URL请求(或者至less是URL的主机部分)。 我有几个域由相同的Apache实例处理,并希望能够区分日志中的域(因为现在我看到的是“GET /”)。 我在LogFormat的文档中看到它列出了%U来打印URL的path部分,但是我正在寻找主机。

继续阅读LogFormat文档,你会发现:

 %...{Foobar}i: The contents of Foobar: header line(s) in the request sent to the server. 

这意味着你可以包含在你的configuration中:

 %{Host}i 

%v%V指令也可以让你得到你想要的。

%v将始终是ServerName的值(虚拟主机的“规范名称”)。 %V 可能ServerName的值,也可能是HTTP Host头的值,具体取决于您的configuration中是否启用了UseCanonicalName (以及客户端是否提供了Host头)。

'%v'是ServerName可能是你想要的?

%v添加到您的日志格式。

像这样的东西:

 LogFormat "%v - %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-vhost CustomLog /log/file/location combined-vhost 

LogFormat“%h%l%u%t \”%r \%s%b \“%{Referer} i \”\“%{User-Agent} i \”%{Host} i%U%q “合并

%{Host}i%U%q给出完整的url。