搜尋

首頁  >  問答  >  主體

nginx - 如何在if條件裡設定access_log文件

我希望能把不同UA的的存取日誌定位到不同的access_log裡,但是access_log這個參數看起來不允許放在if裡。
我有不想通過rewrite之類的方法,把不同的請求定位到不同的location裡,在同一個location裡如何依據UA來指定accesss_log呢?

曾经蜡笔没有小新曾经蜡笔没有小新2799 天前768

全部回覆(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
  • 取消回覆