Nginx 如何将http_referer添加到cookie?

Nginx 如何将http_referer添加到cookie?,nginx,Nginx,我试着这样做: map $http_referer $setCookie { default "referrer={$http_referer};Domain=.verbalink.com"; ~*test1\.com "referrer=bl;Domain=.verbalink.com;Max-Age=31536000"; } server{ add_header Set-Cookie $setCoo

我试着这样做:

map $http_referer $setCookie {
        default                "referrer={$http_referer};Domain=.verbalink.com";
        ~*test1\.com           "referrer=bl;Domain=.verbalink.com;Max-Age=31536000";

}

server{
    add_header Set-Cookie $setCookie;
}

但是当创建cookie时,它将
${http\u referer}
作为值,而不是实际的http referer。我还尝试了
{$http\u referer}
$http\u referer
,但都没有成功。我如何才能将引用者放入我的Cookie中?

如果你只有两个条目,我会将它们映射到一些关键字中,然后在服务器条目中,如果它们:)就可以了,应该可以了。所以它看起来像:

      map $http_referer $setCookie {
            default                "def";
            ~*test1\.com           "test";
    }

    server{
if ($setCookie == "def"){
add_header Set-Cookie "referrer=$http_referer;Domain=.verbalink.com";
} 
if ($setCookie == "test"){
add_header Set-Cookie "referrer=bl;Domain=.verbalink.com;Max-Age=31536000";
} 

    }
结果值可以是字符串或其他变量。)

vs


值可以包含变量©不幸的是,我将有大约20个条目。无论哪种方式,我都尝试了
$http\u referer
方法,但它在我的cookie中显示为
$http\u referer
map $http_referer $setCookie {
    default       $http_referer;
    ~*test1\.com  "bl;Max-Age=31536000";
}

server{
    add_header Set-Cookie "referrer=$setCookie;Domain=.verbalink.com";
}