如何让 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,并且您到外部站点的所有链接都会通过该主机,并记录在该主机的单独日志文件中。