Apache 在自定义日志中重写URL

Apache 在自定义日志中重写URL,apache,mod-rewrite,Apache,Mod Rewrite,我在http.conf中定义了一个重写URL,将一个参数附加到请求URL中。在自定义日志输出中,我没有看到修改后的请求URL。当我在一个论坛中查找原因时,发现mod_rewrite只影响通过HTTP调用的访问,而不影响服务器内部的文件操作。这是真的吗?有没有办法在Apache日志中只记录修改后的重写URL?非常感谢你的帮助 我尝试访问的示例URL是http://www.abc.com/pixel.gif?on=test在输出中,我希望类似于/pixel.gif?type=modified&on=

我在
http.conf
中定义了一个重写URL,将一个参数附加到请求URL中。在自定义日志输出中,我没有看到修改后的请求URL。当我在一个论坛中查找原因时,发现
mod_rewrite
只影响通过HTTP调用的访问,而不影响服务器内部的文件操作。这是真的吗?有没有办法在Apache日志中只记录修改后的重写URL?非常感谢你的帮助

我尝试访问的示例URL是
http://www.abc.com/pixel.gif?on=test
在输出中,我希望类似于
/pixel.gif?type=modified&on=test

RewriteCond %{HTTP_HOST} www\.abc\.com
RewriteRule ^/(.*)$    /$1?type=modified       [QSA,L]
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

如果打开指令,有一种方法可以记录重写相关的内容

基本上,您可以将其添加到.htaccess文件中(日志路径可能会有所不同):

但是请注意,
RewriteLogLevel
确实会减慢开发或生产服务器的速度。您可能希望使用较小的数字。。。而不是
5
。当你检查完你的
重写规则
s。。。您很可能希望注释掉(或删除)
RewriteLog
/
RewriteLogLevel


希望这对您的调试有帮助

如果打开指令,有一种方法可以记录与重写相关的事情

基本上,您可以将其添加到.htaccess文件中(日志路径可能会有所不同):

但是请注意,
RewriteLogLevel
确实会减慢开发或生产服务器的速度。您可能希望使用较小的数字。。。而不是
5
。当你检查完你的
重写规则
s。。。您很可能希望注释掉(或删除)
RewriteLog
/
RewriteLogLevel


希望这对您的调试有帮助

谢谢summea。我无法将RewriteLogLevel更改为5,正如您所说的,这将损坏我的服务器。我将寻找一种不同的方法来添加参数。我只想知道他们是否只是在访问日志中展示重写url的一种方式,而我发现他们没有这样做的方式。再次感谢!没问题;而且,我认为(尽管我必须找到这种想法的参考资料,)mod_rewrite只会在通过HTTP访问URL时对URL起作用,就像您所想的那样。但我还是要仔细检查一下……我在一个论坛上找到了这些信息——但不确定它有多可靠。谢谢summea。我无法将RewriteLogLevel更改为5,正如您所说的,这将损坏我的服务器。我将寻找一种不同的方法来添加参数。我只想知道他们是否只是在访问日志中展示重写url的一种方式,而我发现他们没有这样做的方式。再次感谢!没问题;而且,我认为(尽管我必须找到这种想法的参考资料,)mod_rewrite只会在通过HTTP访问URL时对URL起作用,就像您所想的那样。但我还是要仔细检查一下……我在一个论坛上找到了这些信息——但不确定它有多可靠。
RewriteLog "/usr/local/var/apache/logs/rewrite.log"
RewriteLogLevel 5