Magento 2错误ERR_TOO_MANY_REDIRECTS


20

我是Magento的新手,安装了Magento 2社区版后。我无法访问管理面板。我正在错误以下。

此网页有重定向循环

错误ERR_TOO_MANY_REDIRECTS

请帮助我解决问题。提前感谢所有人。


提供更多信息。您是如何安装magento的?在安装过程中输入的参数是什么
Arkadii Chyzhov 2015年

您是否启用了XDebug?
Alex Paliarush 2015年

在设置SSL遇到一些问题后,我遇到了同样的问题。只需运行此修复程序即可:sudo php bin / magento cache:flush
AdNauseum

Answers:


28

我在操作数据库时遇到了同样的问题,此答案解决了我的问题ERR_TOO_MANY_REDIRECTS:

/magento//a/84756/50635

要解决此问题,请尝试在系统->配置->常规-> Web中将“在管理员中使用安全URL”设置为true。

或通过数据库访问,将以下记录值更改为1

SELECT * FROM core_config_data where path like '%web/secure/use_in_adminhtml%';

5
就我而言,它的值已经是1,但仍然看到此错误。
kashish

1
像魅力一样工作
mrtuvn

作品非常好
Vu Tran Kien

谢谢!!像预期的那样工作!
MazeStricks

18

就我而言,我正在导入一个已经存在的Magento 2数据库。我收到错误的原因是由于数据库中的cookie域。转到数据库并查看表core_config_data。您应该看到一个名为的路径web/cookie/cookie_domain。确保域与您安装了Magento 2的域匹配。例如:如果您在local.dev/<magento-root> 的条目中安装了Magento 2,则web/cookie/cookie_domain应该为local.dev


4
我遇到了同样的问题。我将值web/cookie/cookie_domain从NULL 更改为我的域名,但仍然无法正常工作。
kashish

1
非常感谢!我将值更改为“ domain.local”,并且一切正常
Nikolai

非常感谢!!对我来说,这就是问题所在!:D
Pierre-VerthumeLarivière19年

14

我在这篇文章中将您的magento商店域称为example.com。如果是www.example.com或store.example.com或其他名称,请相应替换。

我刚遇到这个问题,这是具体信息。Magento 2 2.2.2安装。最初,我已将安全基本url配置为http://example.com/,并且在服务器上配置了letencrypt ssl证书时,我无意中启用了将所有http流量重定向到https的选项。

通常这不是问题,但是Magento可能会有点气质。我访问了店面,并且SSL正常运行,但是当我尝试访问管理员时,收到了“ ERR_TOO_MANY_REDIRECTS”通知,并且页面加载失败。

我看到了几种解决此问题的方法,但是最适合我的方法是这种方法。

  1. SSH进入服务器。
  2. cd到您的magento安装目录。
  3. 运行以下命令:
    • PHP的bin / magento的配置:显示

查看输出并查找web / secure / base_url,web / secure / base_link_url和web / secure / use_in_adminhtml

这些值应使用https://example.com/配置为url选项,并且web / secure / use_in_adminhtml = 1。

如果不是,则可以从magento安装目录运行以下命令以更新配置。

  1. php bin / magento配置:敏感:设置Web /安全/ base_url https://example.com/
  2. php bin / magento配置:敏感:设置网络/安全/ base_link_url https://example.com
  3. php bin / magento配置:设置网络/安全/ use_in_adminhtml 1
  4. php bin / magento缓存:干净

之后,访问您的管理页面,清除浏览器缓存,重新加载,现在您应该可以重新访问了!具有SSL支持。

之后,我要采取的第一步是重新登录管理门户并验证您的配置选项,以确保您不会遇到任何其他意外问题。

希望对您有所帮助!

以下是一些Magento资源,可帮助您进行指导:

设置配置值

其他配置路径参考

敏感和系统特定参考


1
谢谢。另外,我通过plesk设置了从http到https的重定向,我必须禁用该重定向才能获取magento后端。注意:这里清理缓存是重要的一步。
丹尼尔(Daniel)

11

就我而言,我是从客户端的服务器复制网站,并在本地系统上进行设置。我只是从删除了Cookie /域

core_config_data

表,然后刷新缓存,对我有用!

您也可以这样做:

在“ core_config_data”表中,删除“ web / cookie / cookie_domain”的值,并将“ web / cookie / cookie_httponly”设置为“ 0”。通过删除“ var / cache”中的文件来清除缓存。


4

将网站切换到https后,我遇到了同样的问题。当我检查core_config_data中的web / cookie / cookie_domain时,它为NULL。

mysql> select * from core_config_data where path like 'web/cookie%';
+-----------+---------+----------+--------------------------+-------+
| config_id | scope   | scope_id | path                     | value |
+-----------+---------+----------+--------------------------+-------+
|        19 | default |        0 | web/cookie/cookie_domain | NULL  |
+-----------+---------+----------+--------------------------+-------+
1 row in set (0.00 sec)

然后将其设置为我的fqdn:

mysql> update core_config_data set value = 'mysites.fqdn.com' where path = 'web/cookie/cookie_domain' ;

之后,我重新启动了网站,它运行良好:

systemctl restart apache2

3

我收到错误ERR_TOO_MANY_REDIRECTS,因为我忘记将PHP版本设置为PHP7。


2

由于使用localhost您的主机名,尤其是在Chrome中,导致出现此错误。我们建议您使用自己的域。查看Alan的博客以获取详细信息

它不是Magento,而是Web浏览器与少于2个点的域名(例如localhost)一起使用时的行为有所不同。


OP在哪里提到他使用“ localhost”安装了它?
MrUpsidown

2

您可以尝试使用本地IP而非本地IP重新安装Magento 。

这将是http://127.0.0.1/foldername。以这种方式安装后,您将可以从任何浏览器访问它。

您还可以在core_config_data中更改数据库中的记录,其值将如下所示:

http://localhost/foldername/

替换为

http://127.0.0.1/foldername/

无论哪种方式,foldername都是Magento所在的目录。


2

另外-只是添加我的经验,如果您是从apache服务,但是使用nginx终止ssl(可能是清漆缓存),那么请确保您的apache有

 SetEnvIf X-Forwarded-Proto "https" HTTPS=on

否则它会与Nginx重定向狂潮一起旋转



0

不要在基本网址中使用变音符号,例如:

www.yourhost/österreich

我不得不将其重命名为


0

就我而言,我已将表中web/cookie/cookie_domain路径的值设置core_config_dataNULL

您可以使用Magerun做到这一点,就像这样:

magerun config:set web/cookie/cookie_domain NULL

0

就我而言,我使用的是IP而不是localhost,但仍然无法解决。更改了管理员网址密钥。有效。

当然,在开发过程中面对和应用这些答案时,以上所有答案仍然有效。

Chrome造成的原因很多。Firefox在处理此问题方面更好一些。


0

我在AWS上使用Magento 2并遵循Ryan Wilson的建议,通过转到安装了magento的htdocs文件夹并使用以下命令解决了该问题

sudo php bin/magento config:set web/unsecure/base_url http://www.yoursite.com/
sudo php bin/magento config:set web/secure/base_url https://www.yoursite.com/
php bin/magento cache:clean

0

在magento 2.2版本中,我什至在core_config_data中找不到web / cookie / cookie_domain路径。所以就我而言,问题出在memcached服务上。我已经根据magento docs在php.ini中设置了session.save_handler = memcached,这阻止了管理员正确打开,同时前台还可以。将处理程序更改回session.save_handler =文件全部工作后


0

我有同样的问题,通过进入来解决

SELECT * FROM core_config_data where path like 'web/secure/use_in_adminhtml'

值由NULL更改为1


0

在将站点从一个子域移到另一个子域并更改了必要的base_urls之后,手动删除var / cache / *和var / sessions / *对我而言已解决。




0

这对我有用!

php bin/magento config:set web/unsecure/base_url http://example.local/ 
php bin/magento config:set web/secure/base_url https://example.local/ 
php bin/magento config:set web/secure/use_in_adminhtml 1

-1

请检查您的nginx / apache中是否配置了SSL连接。勾选用于管理员访问的SSL连接并且未配置SSL时,它将重定向到标准http://连接,然后返回到https://。这就是为什么有一个循环。

nginx中应该有这样的东西:

server {
    listen 80;
    listen 443 ssl;
    server_name test.com;
    set $MAGE_ROOT /storage/test.com;
...

OP在哪里提到nginx?您在哪里更改了配置,为什么?它有什么作用?
MrUpsidown

-1

尝试使用此.htaccess修复程序

############################################
SetEnvIf HTTPS On HTTPS=on
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.