NGINX:仅基于特定URL的cookie重定向用户



我正在建立一个封闭的社交网络,目前当用户未登录时,他们将始终重定向到我的域主页。

我想做的是做以下事情:

  1. 使用NGINX检查用户是否登录(通过检查cookie),然后当他们进入主页(mydomain.com)时重定向到mydomain.com/newsfeed。

  2. 只有当用户浏览主页时,才应应用此检查,并且不应在任何其他url上工作(否则他们将始终被重定向)。

我是NGINX的新手,看过各种使用cookie重定向的教程,但都没有得到答案(最值得注意的是,将重定向限制在主页上)。

提前感谢!

最终正确解决方案:

location ~* ^/$ {
 if ($http_cookie ~* "wordpress_logged_in") {
    return 301 http://example.com/newsfeed/;
 }
}

让我们假设我有一个类似的cookie:name=value

server {
    listen 80;
    server_name mydomain.com;
    location ~* ^/$ {
        if ($cookie_name = "value") {
            return 301 http://example.com/newsfeed/;
        }
    }
}

位置块将只与主页匹配,检查cookie是否存在(您也可以只使用if ($cookie_name)),如果存在,则将用户重定向到http://example.com/newsfeed/

最新更新