如何将http_referer添加到cookie?

时间:2012-11-28 18:55:30

标签: 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 $setCookie;
}

但是当创建cookie时,它的值为${http_referer}而不是实际的http referer。我也尝试了{$http_referer}$http_referer,但都没有效果。如何将引用者引入我的Cookie?

2 个答案:

答案 0 :(得分:0)

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

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

    }

答案 1 :(得分:0)

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

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

结果值可以是字符串或其他变量。©http://nginx.org/r/map

VS

值可以包含变量©http://nginx.org/r/add_header