在redirect301之后,在apache日志文件中logging原始域的正确方法是什么?

感谢您阅读我的问题。

我正在使用Debian5 + apache2
在apache2.conf中有多个VirtualHost部分。
我有一个主域www.mymain.com在虚拟主机部分和其他虚拟主机部分中的多个其他域。
稍后有一个redirect命令如下
redirect301 / http://www.mymain.com

所有的redirect工作正常。
我想login使用的原始域,但已尝试在http://httpd.apache.org/docs/2.3/mod/mod_log_config.html#formats的每个格式string无济于事。

我已经使用了所有的标准日志和我自己的自定义(all in)日志来pipe理这两个VirtualHost部分,并且所需的数据不会出现在任何日志文件的任何地方。

即用户点击连接到www.myotherdomain.com他们成功301redirect由Apache到www.mymain.com

我想看
等等等等www.myotherdomain.com等等等等
在日志中

任何input赞赏。

提示类似问题的人。

大多数浏览器caching301redirect。 一个蛮力的解决scheme是使用Firefox的可移植安装来testing(例如)。 做testing,然后删除并重新安装应用程序。 或者只要您想要进行testing,就复制原始安装的克隆。

注意在apache2.conf的serveralias命令中使用* .domain.tld

即使所有服务器名都是虚拟的,UseCanonicalName Off也适用

请记住,301redirect会生成2个完全独立的日志条目,因为它是2个完全独立的事件,即

browser requests www.myolddomain.tld -> server A returns 301 "command" and browser requests www.newdomain.tld (as listed in 301 cache) -> server B returns result 

理论上服务器B可能根本不知道301发生了

当然,如果服务器A和B是相同的,那么能够将信息添加到服务器B的日志将是非常有用的。

这听起来像你想要使用包含%VCustomLog格式(用于发送redirect的虚拟主机),并确保你已经设置了UseCanonicalName Off

日志格式文件在这里 。