账户页子域与主域不一致导致登录态丢失
现象#
顾客在 account.example.com 登录成功,回到 www.example.com 点账户图标又要登录;换到德国站 example.de 同样要求重新登录。
原因#
- 登录态保存在签发它的域上,账户子域与主站之间需要一次会话交换,并非天然共享
- 市场绑了独立顶级域名,跨 eTLD 的 cookie 无法共享,换域必然要求重新登录
- 账户子域改过名,浏览器里旧域名的 cookie 还在,新域读不到它
- 主题里账户链接写死成 shopify.com 的旧地址,绕开了自己的子域
处理步骤#
- 在
Settings > Customer accounts看账户 URL,确认它是主域下的account.子域 - 把账户子域建在主域下,不要用另一个注册域的二级域
- 多市场优先用子目录(如
/de)而不是独立域名,登录态才能延续 - 主题里账户入口统一用
{{ routes.account_url }},不要手写绝对地址 - 在 DevTools 的 Application > Cookies 里核对 cookie 的 Domain 与当前主机是否匹配
验收标准#
在 www 登录后切到 /de 子目录,账户图标仍显示已登录;换独立域名市场需要重登属预期。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。