关于Apache LogFormat中%f参数含义的疑问
关于Apache LogFormat中%f参数含义的疑问
嗨,我来帮你理清这个困惑~
首先,Apache LogFormat里的%f参数,官方标注的“Filename”其实是指服务器端实际用来生成HTTP响应的本地文件的完整路径或文件名。举个例子,如果用户请求你的站点根目录下的index.html,%f就会输出这个文件在服务器上的绝对路径,比如/var/www/html/index.html。
不过你提到在你的场景里它显示的是Referer URL,这有点反常哦,大概率是配置上的小问题:会不会是你不小心把%f和表示Referer的%{Referer}i搞混了?或者你的服务器上有特殊模块(比如自定义模块、或者mod_rewrite的特殊规则)修改了这个字段的输出?
另外再补充个小知识点:%f和%U是有区别的——%U是用户请求的URL路径(不含查询参数),而%f是服务器实际找到的对应本地文件。比如如果有重写规则把/foo重写到/bar.html,那%U会是/foo,%f则是服务器上bar.html的实际路径。
备注:内容来源于stack exchange,提问作者Yogesh Tembe
相关产品推荐
相关产品推荐

