我有一个带有* .example.com ServerName的Apache 2.2 VirtualHost。 这是我的场景所需要的,所有的子域名都是用同一个站点处理的。
现在,在访问日志中,我试图找出一个LogFormatvariables(或方法),让我logging所要求的域名。 如果我使用vhost_combined格式,我所有的访问日志中都是* .example.com条目,而不是被要求的实际的虚拟主机。
有人知道怎么做吗?
你可以使用%{headername}i把任何头文件的内容放到LogFormat指令中,所以%{Host}i会给你客户端放在请求的Host:头里,给你你想要的东西。
请参阅http://httpd.apache.org/docs/2.2/mod/mod_log_config.html上的文档
当你使用例如vhost_combined Logformat时:
CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
您可以通过添加%{Host}i来调整vhost_combined ,例如
LogFormat "%v:%p %h %l %u %t %{Host}i \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined