Apache 2.2 日志重定向

Apache 2.2 日志重定向

如何让 ApacheRedirect在单独的日志文件中记录特定的内容?

我有一个网站,其中包含指向外部网站的链接。有人要求我跟踪用户使用这些链接的频率。我可以将它们全部更改为指向我网站上的重定向器,然后使用 Apache 将RedirectMatch它们定向到正确的位置,但如果我可以将这些特定的重定向记录到单独的文件中,那就更简单了。

谢谢!

答案1

如果存在环境变量则定义使用单独的日志文件:

#Set your own file path and log file format
CustomLog /var/log/apache/redirects.log common env=redirected

在每个重定向(RedirectMatch 或 mod_rewrite 等)附近设置此变量:

SetEnvIf Request_URI "^/site" redirected=1
RedirectMatch ^/site/(.*)$ http://target.example.com/$1

您还可以使用 SetEnv 或 mod_rewrite 来设置环境变量。

答案2

一种方法是拥有一个带有自己的 access_log 文件的单独 VirtualHost - 例如,如果您的域名是 www.example.com,则您可以设置一个带有 DNS 名称 redirect.example.com 的单独 VirtualHost,并且您到外部站点的所有链接都会通过该主机,并记录在该主机的单独日志文件中。

相关内容