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