【问题标题】:Nginx 301 redirect inc. set cookieNginx 301 重定向公司设置饼干
【发布时间】:2010-12-17 22:40:23
【问题描述】:

我正在寻找的是 nginx 检测 url 具有查询字符串变量 cid 的能力。

例如 www.adomain.com/froggy?cid=12&as=false(查询字符串可以单独或与其他字符串混合,并且 cid 不一定是查询字符串中的第一个变量)

如果检测到 cid,它必须发送一个带有变量 tmp_cid 的设置的 cookie 标头,给它从 cid 查询字符串变量中获取的值。

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

我希望这是有道理的。

【问题讨论】:

    标签: cookies redirect query-string nginx


    【解决方案1】:
    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;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多