我需要澄清一个基本概念(这里是初学者)。
在我维护的Django网络应用程序中,我注意到如果通过example.com
登录,他们仍会在www.example.com
上注销(然后可以继续创建一个克隆帐户。)
1)为什么会这样?
2)解决这个问题的标准做法是什么?即,在www
和no-www
之间提供一致的体验。
如果答案与重定向一样基本,我也可以使用一些指针和说明性示例 - 我正在使用nginx反向代理和gunicorn。
答案 0 :(得分:1)
1)默认情况下,Django cookie不适用于前置www和非www域.Django将其视为不同的会话。
2)您可以设置PREPEND_WWW设置,将xyz.com重定向到www.xyz.com。
PREPEND_WWW = True
或者如果您对这两个网站都需要相同的Cookie,则可以使用session_cookie_domain,
SESSION_COOKIE_DOMAIN = ".yoursite.com"