感谢您阅读我的问题。
我使用的是 Debian5 + apache2
在 apache2.conf 中,我有多个 VirtualHost 部分。
我在虚拟主机部分中有一个主域 www.mymain.com,在另一个虚拟主机部分中有一个其他域。
后者有一个重定向命令,如下所示:
redirect 301 /http://www.mymain.com
所有重定向都工作正常。
我想记录使用的原始域名,但尝试了所有格式字符串http://httpd.apache.org/docs/2.3/mod/mod_log_config.html#formats无济于事。
我已经为 VirtualHost 部分使用了所有标准日志和我自己自定义的(全部)日志,但所需数据没有出现在任何日志文件的任何地方。
即用户点击 www.myotherdomain.com 的链接,apache 成功将其 301 重定向至 www.mymain.com
我想 在日志中看到
blah blah www.myotherdomain.com blah blah
任何意见均表示赞赏。
为有类似问题的人们提供提示。
大多数浏览器都会缓存 301 重定向。一种强力解决方案是使用 Firefox 的便携式安装进行测试(例如)。进行测试,然后删除并重新安装该应用程序。或者,只要您想要进行测试,就可以复制原始安装的克隆。
请小心在 apache2.conf 中的 serveralias 命令中使用 *.domain.tld
即使所有服务器名称都是虚拟的,UseCanonicalName Off 也适用
请记住,301 重定向会生成 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 的日志中将非常有用。
答案1
听起来您想使用一种CustomLog
包含的格式(对于发送重定向的虚拟主机)%V
,并确保您已设置UseCanonicalName Off
。