美文网首页开发经验随笔程序员技术干货
在nginx中依据cookie进行个性化重定向

在nginx中依据cookie进行个性化重定向

作者: 山东大葱哥 | 来源:发表于2017-09-05 09:35 被阅读28次

背景

项目中根据人群做了不同的个性化版面(老年版、正常版),为减少代码侵入性,新的版面采用新建文件的形式进行开发部署,经过山东大葱哥思考决定采用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;     
    }

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入技术爱好者交流群373107565,我们一起学技术!

相关文章

  • 在nginx中依据cookie进行个性化重定向

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

  • 疑难问题收集

    WKWebview 在重定向时 cookie 丢失 1.WKWebview 在重定向时 cookie 丢失: 1....

  • nginx 301重定向 设置

    在nginx中配置,使得访问不带www的网址自动重定向到带www的域名。 http协议的重定向 在nginx官方文...

  • JAVA实现重定向和转发

    (一)重定向 1.如何在java中重定向到外部URL重定向之余并给外部域名下加cookie setCookie 2...

  • nginx重定向

    nginx重定向 http重定向到https

  • session与cookie关系

    1、cookie 1)Http协议是无状态的,如果没有cookie,每次登陆后再进行增、删改查操作都要重定向到登陆...

  • 实现简单单点登录业务流程

    1、Cookie 实现重定向的方式单点登录业务流程图实现(重定向的方式) 2、Cookie 禁用,可以使用head...

  • Nginx下HTTP强制重定向至HTTPS

    Nginx下HTTP强制重定向至HTTPS 对于nginx来说,配置http强制重定向至https有多种多样的写法...

  • nginx中处理cookie

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

  • 2019-04-19

    MOCTF -WEB 9、暴躁老板 抓包 10、Flag在哪 抓取重定向 11、美味的饼干 发现cookie中存在...

网友评论

    本文标题:在nginx中依据cookie进行个性化重定向

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