我正在建立一个封闭的社交网络,目前当用户未登录时,他们将始终重定向到我的域主页。
我想做的是做以下事情:
-
使用NGINX检查用户是否登录(通过检查cookie),然后当他们进入主页(mydomain.com)时重定向到mydomain.com/newsfeed。
-
只有当用户浏览主页时,才应应用此检查,并且不应在任何其他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/