【问题标题】:Magento has a redirect loopMagento 有一个重定向循环
【发布时间】:2020-02-17 18:04:35
【问题描述】:

我的 Magento 网站主页出现重定向循环错误。当我尝试打开它时,它会转到我的旧服务器 url 并给出错误:

网页导致的重定向过多。清除此站点的 cookie 或允许第三方 cookie 可能会解决问题。如果不是,则可能是服务器配置问题,而不是您的计算机问题。

当我尝试进入 admin 时,它会将旧的服务器管理 url 带到我那里,没有任何错误。

我下载了新的数据库并将我的商店连接到它工作正常,但是当我将它连接到我的旧数据库时,它给出了同样的错误。

请给我建议。

【问题讨论】:

    标签: magento


    【解决方案1】:

    这不是一个理想的解决方案,但我遇到了 Magento 1.9.x 的问题。

    设置为:Nginx Proxy & SSL Terminator => Apache Webserver

    无论我做了什么启用 SSL 都会导致重定向循环。我将问题缩小到 Magento 而不是 Nginx 配置。

    即使设置了正确的标头,Magento 也不知道它正在从 Nginx 接收安全连接。

    肮脏的解决方案是在Mage::run... 行之前的magento 根目录(即/var/www/magento)内的index.php 的最底部添加一些代码,如下所示:

    if( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) ) {
        $_SERVER['HTTPS'] = 'on';
        $_SERVER['SERVER_PORT'] = 443;
    }
    
    Mage::run($mageRunCode, $mageRunType);
    

    【讨论】:

    • 这个解决方案对我有用,而清除缓存却没有。
    • 对于那些使用 AWS ELB 的人需要在 Magento 版本 2.3.0 中设置这个不知道为什么,但我使用的以前的版本是 2.2.0 不需要这个。
    【解决方案2】:

    错误的权限可能也会导致这种情况发生。因此,除了截断var/cachevar/session 文件夹之外,请继续确保您对appskinincludes 目录、子目录和文件具有适当的权限。我相信建议的权限设置是 644。您可以使用适当的 FTP 客户端(例如 FireZilla)来执行此操作。

    【讨论】:

      【解决方案3】:

      转到表 core_config_data

      将这些值更新为您的 localhost url(或您在安装时提供的任何 url):

      web/secure/base_url //(新网址)

      web/unsecure/base_url //(新网址)

      清空 var 文件夹。

      【讨论】:

      • 是的,我这样做了,但是当我手动删除缓存时解决了问题
      【解决方案4】:

      我把它修好了。

      我手动删除了我的缓存,我无法登录我的 amdin,它得到了修复

      【讨论】:

        【解决方案5】:

        我的问题是 Cloudflare,将其置于开发模式并运行。它与缓存有关。

        【讨论】:

          【解决方案6】:

          问题:ERR_TOO_MANY_REDIRECTS - 重定向您的次数过多

          此问题与cookie域名有关。

          例如:如果您已经在 www.example.com 中安装了 Magento 2,现在您将 magento 基本路径更改为子域路径,例如 www.subdomain.example.com 表示,那么您需要更新 core_config_data 表中的 cookie 域条目。您无法访问 magento 2 后端,因此您可以使用以下查询来检查记录是否存在,否则使用插入查询。

          SELECT * FROM  `core_config_data` WHERE  `path` REGEXP  'cookie_domain'
          

          如果记录退出,则将 subdomain.example.com 更新为 value 列。

          其他

          INSERT INTO `core_config_data` (`scope`, `scope_id`, `path`, `value`) VALUES ('default', 0, 'web/cookie/cookie_domain', 'subdomain.example.com');
          

          然后使用命令 php bin/magento cache:flush

          刷新缓存

          刷新magento 2 admin,现在你可以访问admin了。尝试这个。谢谢。

          注意:如果您没有使用cookie域,则不要配置此设置,如果您配置错误,您也会遇到此错误,因此将错误更新值修复为默认配置。

          【讨论】:

            【解决方案7】:

            我遇到了同样的问题,在重新加载和重新加载我的页面后,我注意到错误消息响应了 www.mydomain.tld,有时还响应了 mydomain.tld。我在服务器上使用 Plesk,我记得我将域设置为始终在没有 www 的情况下调用。我只是在域的托管设置中将其更改为无。幸运的是,这解决了这个问题。希望对其他人有所帮助。

            【讨论】:

              猜你喜欢
              • 2017-05-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-12-27
              • 2013-12-22
              • 2013-11-06
              • 2013-04-14
              • 1970-01-01
              相关资源
              最近更新 更多