首页  >  问答  >  正文

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

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

曾经蜡笔没有小新曾经蜡笔没有小新2734 天前737

全部回复(1)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:31:38

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

            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";
            }

    回复
    0
  • 取消回复