执行时我可以记录单个mod重写规则吗?

时间:2011-04-28 13:52:49

标签: apache mod-rewrite logging

我希望能够在执行RewriteRule时进行记录。例如,假设我有类似的东西:

RewriteCond  %{QUERY_STRING} do=Action [NC]
RewriteRule ^/app/(.*)$  ${server:master}/code/base/path/App.php?$1 [P,L]

RewriteRule ^(.*)$  ${server:cache}/other/path/App.php$1 [P,L]

我想记录由规则1重写的请求URL(在主服务器上)。

关于如何实现这一目标的任何想法?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用[E]标志设置环境变量。然后,在服务器上的日志配置中检查相同的环境变量。

所以,如果您有以下RewriteRule

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/newurl/
RewriteRule (.*) /newurl/$1 [R,E=rewrite:true]

您可以相应地设置日志:

CustomLog logs/rewrite-check.log common env=rewrite

希望有所帮助。