Nginx 301重定向公司设置cookie

问题描述:

我在寻找的是nginx能够检测到URL有查询字符串变量cid的能力。Nginx 301重定向公司设置cookie

例如www.adomain.com/froggy?cid=12 &为= FALSE(查询字符串可以与他人独奏或混合和CID不一定在查询串中的第一可变)

如果CID被发现时,它必须发送一个带有变量tmp_cid的设置cookie头,并给它从cid查询字符串变量中取出的值。

然后,它还必须发送一个301重定向,以将用户发送到它所在的同一网址,但没有cid查询字符串变量,因此使用上面的示例url,它将重定向到www.adomain.com/青蛙?as = false

我希望这是有道理的。

location/{ 

    set $cid ''; 

    if ($query_string ~ "(.*)cid\=([0-9]+)(&?)(.*)") { 
     set $args $1$4; 
     set $cid $2; 
    } 

    if ($args ~ (.+)&$) { 
     set $args $1; 
    } 

    if ($cid != '') { 
     add_header Set-Cookie tmp_cid=$cid; 
     rewrite ^(.*)$ $1 permanent; 
    } 

}