我正在构建一个封闭的社交网络,目前当用户未登录时,他们将始终被重定向到我的域的主页。
我想做的是做以下事情:
使用NGINX检查用户是否已登录(通过检查cookie),然后当他们转到主页(mydomain.com)时重定向到mydomain.com/newsfeed。
< / LI>此检查仅应在用户浏览主页时应用,不应在任何其他网址上工作(否则将始终重定向)。
我对NGINX很新,并查看了使用Cookie进行重定向的各种教程但未能得到答案(最明显的是将重定向限制为仅限主页)。
提前致谢!
答案 0 :(得分:11)
最终正确的解决方案:
location ~* ^/$ {
if ($http_cookie ~* "wordpress_logged_in") {
return 301 http://example.com/newsfeed/;
}
}
答案 1 :(得分:4)
让我假装我有一个像这样的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/