1

我的 Web 应用程序中的 apache 网络服务器具有如下配置

LogFormat "%h %l %u %t \"%r\" %>s %b \
\"%{Referer}i\" \"%{User-Agent}i\""            combined
CustomLog /var/web/log/access_log combined

问题是%r显示完整的 url 及其查询参数。像下面

http://myserver/path/to/resource?q1=v1&q2=v2&secret=no-one-sould-know

是否可以以这种方式进行配置,以便我可以跳过将参数记录secretaccess_log? 或者可能通过加密或类似的方式记录这个特定的查询参数?

或者,如果我可以跳过以/path/to/resource.

4

1 回答 1

0

我可以通过使用setEnvIf指令来解决它

SetEnvIf Request_URI \/path\/to\/resource secret
CustomLog /var/web/log/access_log combined env=!secret

此处SetEnvIf根据请求设置 env 变量。因此,当secret在 env 中设置时,CustomLog 将跳过日志记录。

于 2013-10-01T04:46:19.467 回答