子域的 Magento cookie 设置

Magento cookie settings for subdomain

当我在生产域的子域下安装 Magento 时,我无法登录到 magento admin。例如,我的域名是 example.com,我已经在其中安装了 magento 并且它正在生产中,我可以使用管理员登录。

但是,我有一个名为 test.example.com 的子域,我在那里安装了 magento 用于测试目的。现在,如果我尝试登录到测试站点,我无法登录。用户名和密码正确。我没有看到错误消息。它只是重新加载相同的登录页面。当我尝试登录到我的生产站点管理面板时,也会发生同样的事情。

如果我清除与 example.com 和 test.example.com 相关的 cookie,然后尝试登录到 example.com 的管理面板,我就没事了。现在,当我尝试登录测试时。example.com 管理面板,问题再次出现。

有没有人可以帮我解决这个问题?

您的实时系统的 cookie 设置为 .example.com,这意味着您的实时系统的域以及 所有 个子域。因为 test.example.com 是一个子域,所以两个 cookie 都对其有效。

尝试以下设置,然后 Magento 将为 .www.example.com.test.example.com 设置 cookie,您的活动域的 cookie 将不会干扰您的子域。

最后,我通过将 cookie 域值 www.example.com 放入生产环境并将 test.example.com 放入我的测试站点,从管理员的会话 Cookie 管理中解决了这个问题。尽管此解决方案不允许用户在没有 www 的情况下登录,即 example.com/admin 将不起作用。我们必须使用 www.example.com/admin 才能成功登录到 magento admin

我刚刚将 magento 代码从 2.2.5 迁移到 2.4.3-p1 到不同的服务器和环境。父域和 Sub-domain 托管在 cloudflare 上。作为 xyz.com 和测试。xyz.com.

我无法登录前端后台管理门户。即使使用了正确的凭据。

已采取的行动:在数据库中更新 core_config_data table 将 cookie 域值更改为 .test.xyz.com 、test.xyz.com 、NULL 和空白。没有任何效果。请帮助。

从浏览器和 magento 中删除 cookie 和缓存。 对于会话存储,我正在使用 AWS Elast-cache Redis。