我想在nginx的access_log日志中仅记录javascript文件的请求。我尝试使用在此网站上找到的以下代码:
location ~* ^.+.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg)$ {
access_log off;
}
问题是它根本不允许Get请求,当我尝试在浏览器中运行执行JS文件的HTML文件时,会出现404错误。 我希望一切都能正常工作,但是访问日志仅记录JS文件的请求。 我该怎么做?
我想在nginx的access_log日志中仅记录javascript文件的请求。我尝试使用在此网站上找到的以下代码:
location ~* ^.+.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg)$ {
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires +60d;
access_log off;
}
我将此放在服务器块中,而不是位置块中。
或者,您可以将所有请求保持在单个location
中,但使用带有条件if
运算符的access_log
来禁用图像记录:
map $request_uri $is_loggable {
~* ^.+\.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg)$ 0;
default 1;
}
server {
location / {
access_log /path/to/log/file combined if=$is_loggable;
...
}
}
map $request_uri $is_loggable {
~* ^.+\.js$ 1;
default 0;
}
map $request_uri $is_loggable { default 1; '~*^.+\.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg|js|map|woff|woff2)$' 0; }
- Marlon Anjos
location / { root html/run; index index.html index.htm; }
location ~* .(css|png|jpg|jpeg|gif|ico|html)$ {access_log off; }
}但它完全阻止了对文件的访问。 我做错了什么? - michael