url with/without www 的一致用户授权

Consistent user authorization across url with/without www

我需要澄清一个基本概念(这里是初学者)。

在我维护的 Django 网络应用程序中,我注意到如果有人通过转到 example.com 登录,他们在 www.example.com 上保持注销状态(然后可以继续创建一个克隆帐户)。

1) 为什么会这样?

2) 解决这个问题的标准做法是什么?即,在 wwwno-www 之间提供一致的体验。

如果答案像重定向一样基本,我也可以在那里使用一些指针和说明性示例 - 我正在使用带 gunicorn 的 nginx 反向代理。

1 ) Django cookie 不适用于前置 www 和非 www 域,default.Django 将其视为不同的会话。

2) PREPEND_WWW 设置可以将 xyz.com 重定向到 www.xyz.com.

PREPEND_WWW = True 

或者如果您需要对两个网站使用相同的 cookie,您可以使用 session_cookie_domain

SESSION_COOKIE_DOMAIN = ".yoursite.com"