nginx - 如何在if条件里配置access_log文件

浏览:50日期:2022-06-29

问题描述

我希望能把不同UA的的访问日志定位到不同的access_log里,但是access_log这个参数貌似不允许放在if里。我有不想通过rewrite之类的方法,把不同的请求定位到不同的location里,在同一个location里如何依据UA来指定accesss_log呢?

问题解答

回答1:

可以这么配置,应该还有更好的写法。

location /log { if ($http_user_agent ~ MSIE ) { access_log /var/log/msie.log; } if ($http_user_agent ~ Opera ) { access_log /var/log/opera.log; } if ($http_user_agent ~ Webkit ) { access_log /var/log/webkit.log; } if ($http_user_agent ~ Mozilla ) { access_log /var/log/mozilla.log; } add_header 'Content-Type' 'text/plain;charset=UTF-8'; return 200 '$http_user_agent';}

相关文章: