如何记录重定向到另一个虚拟主机的 Apache 请求?

如何记录重定向到另一个虚拟主机的 Apache 请求?

我们最近关闭了一个在线资产,并将所有流量重定向到一个新网站

<VirtualHost *:80>
    ServerName    oldsite.co.uk
    RedirectMatch 301 (.*) http://www.newsite.co.uk$1
</VirtualHost>

这一切运行良好,但是我们的网络分析专家现在想要获取从这里重定向到那里的流量统计数据。

我试图让它使用重写日志来记录重定向,但它似乎不将 RedirectMatch 算作重写——虽然创建了文件 rewrite.log,但尽管发生了重定向,但它却是空的。

<VirtualHost *:80>
    ServerName    oldsite.co.uk
    RewriteLog "/var/log/httpd/sites/oldsite/rewrite.log"
    RedirectMatch 301 (.*) http://www.newsite.co.uk$1
</VirtualHost>

在这里或在 Google 上找不到任何有关如何使其工作的建议,所以想知道是否有人可以帮忙?

非常感谢

伊恩

答案1

假设这些请求通过 301 重定向得到响应,那么访问日志中应该有与这些请求对应的条目。如果您正在为整个服务器运行单个大型访问日志,但希望将此日志放在单独的文件中,则可以为此虚拟主机设置单独的 CustomLog 指令。

答案2

所有请求(无论返回给客户端的 HTTP 代码是什么)都会记录在 access_log 中。您可以使用类似工具http://awstats.sourceforge.net/来分析请求。只需确保将其配置为考虑301 重定向作为常规流量,通过添加301ValidHTTPCodes指令中。

相关内容