$request_uri 变化后的访问日志

$request_uri 变化后的访问日志

我的 nginx.conf 文件中有类似的内容。

location / {

    if ($request_uri ~ "^(.*)/(.*)/(.*).*$" ) {
        set  $first  $1;
        set  $second $2;
        set  $third $3;
    }

    proxy_pass http://amigo/newbasedir/$third;
}

这改变了http://myhost.com/first/second/trhee.htmlhttp://mybackend/newbasedir/trhee.html

但在我的 access.log 配置中,我注册的是原始的 $request_uri,而不是 newbasedir。有没有办法更改 access.log 以保存结果请求而不是原始请求?

答案1

如果您重写请求,它将在访问日志中显示新的 URI:

rewrite "^/[^/]+/[^/]+(/[^/]+)" /newbasedir$1;

location /newbasedir/ {
    proxy_pass http://amigo;
}

相关内容