nginx中处理cookie

作者: 山东大葱哥 | 来源:发表于2019-06-03 18:30 被阅读3次

背景

项目中根据人群做了不同的个性化版面(老年版、正常版),为减少代码侵入性,新的版面采用新建文件的形式进行开发部署,经过山东大葱哥思考决定采用cookie+nginx的方式进行个性化重定向。

实现思路一

笨方法,变相if嵌套

    set $isOld "false";
    set $isOldRewrite "0";
    if ( $http_cookie ~* "isOld=(.+)(?:;|$)" ) { 
        $isOld $1;  #获取cookie的值并赋给变量,前提该cookie存在
    }
    if ( $isOld = "true" ){
        set $isOldRewrite "1";  
    }   
    if ( $request_uri ~ ^/index.html) {
        set $isOldRewrite "${isOldRewrite}1"; 
           //根据页面url给 变量赋予不同的值,形如 11 12 13  01等等,以0开头的不进行重写
    }
    if ( $isOldRewrite = "11"){ 
        rewrite ^\/index.html /oldIndex.html;
    }

实现思路二

优雅解决方案,使用正则表达式判断

    if ( $http_cookie ~* "isOld=true(?:;|$)" ) {
        rewrite ^\/index\.html /oldIndex.html last;     
    }

相关文章

  • nginx中处理cookie

    背景 项目中根据人群做了不同的个性化版面(老年版、正常版),为减少代码侵入性,新的版面采用新建文件的形式进行开发部...

  • Nginx+Tomcat Session丢失问题

    把cookie写入反向代理url的root,而不是nginx服务器所在的webapp下如上例中,cookie应该被...

  • nginx 配置反向代理 设置cookie可用

    nginx 配置反向代理 设置cookie可用 问题 proxy_cookie_domain .xxx.cn lo...

  • requests进阶

    一、requests处理cookies 1、cookie字符串放在headers中 2、把cookie以字典传给c...

  • react(ES6)好用的插件

    Url: 处理浏览器参数 js-cookie: cookie处理 accounting: 对金额进行处理 reac...

  • jmeter

    jmeter关于cookie传递的处理及动态参数传递 项目线程的许多信息需要存储到cookie或是session中...

  • swift3.0 Alamofire cookie 持久化

    Alamofire 会自动处理 cookie 并在之后的请求中携带 cookie。 但当应用重启后就不会携带 co...

  • IOS中 cookie 的处理

    一直以为ios的http请求不会自动处理请求中的cookie,也不知道Session是怎么处理的!! 最近的项目中...

  • 跨域问题处理

    nginx处理 后端处理

  • 处理cookie

    保存到变量和保存到文件两种方式 请参考:http://python.jobbole.com/81344/

网友评论

    本文标题:nginx中处理cookie

    本文链接:https://www.haomeiwen.com/subject/kqdhxctx.html