0

私はこのようなことを試みていました:

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リファラーではなく値として使用されます。私も試しましたが、うまく{$http_referer}いき$http_refererませんでした。リファラーをCookieに取り込むにはどうすればよいですか?

4

2 に答える 2

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

対。

値には変数を含めることができます © http://nginx.org/r/add_header

于 2012-11-28T19:22:24.770 に答える
0

エントリが2つしかない場合は、それらをいくつかのキーワードにマップし、サーバーエントリでそれらをマップできます:)そしてそれは機能するはずです。したがって、次のようになります。

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

    }
于 2012-11-28T19:10:52.677 に答える