Ошибка Magento 2 ERR_TOO_MANY_REDIRECTS

20

Я новичок в Magento, после установки версии сообщества Magento 2. Я не могу получить доступ к панели администратора. Я получаю ниже ошибки.

Эта веб-страница имеет цикл перенаправления

Ошибка ERR_TOO_MANY_REDIRECTS

Пожалуйста, помогите мне решить проблему. Заранее спасибо всем.

Абдул Азиз
источник
Дайте больше информации. Как вы установили magento? Какие параметры вы указали при установке
Аркадий Чижов
У вас включен XDebug?
Алекс Палиаруш
После некоторых проблем с настройкой SSL я получил ту же проблему. Просто запустил это исправил это: sudo php bin / magento cache: flush
AdNauseum

Ответы:

28

У меня была та же проблема с манипулированием базами данных, этот ответ решил мою проблему ERR_TOO_MANY_REDIRECTS:

/magento//a/84756/50635

Чтобы исправить это, попробуйте установить для параметра Использовать безопасные URL-адреса в Admin значение true, в Система -> Конфигурация -> Общие -> Интернет.

Или с доступом к базе данных измените следующее значение записи на 1 :

SELECT * FROM core_config_data where path like '%web/secure/use_in_adminhtml%';
DependencyHell
источник
5
В моем случае это значение уже равно 1, но я вижу эту ошибку.
kashish
1
работает как очарование
mrtuvn
Работает, очень хорошо
Vu Tran Kien
Спасибо!! Сработало как положено!
MazeStricks
18

В моем случае я импортировал уже существующую базу данных Magento 2. Причина, по которой я получил ошибку, была из-за домена cookie в базе данных. Зайдите в свою базу данных и посмотрите в таблицу core_config_data. Вы должны увидеть путь под названием web/cookie/cookie_domain. Убедитесь, что домен совпадает с тем, на котором вы установили Magento 2. Пример: Если вы установили Magento 2, local.dev/<magento-root> вход в систему web/cookie/cookie_domainдолжен быть local.dev.

Павел
источник
4
У меня была такая же проблема. Я изменил значение web/cookie/cookie_domainс NULL на мое доменное имя, но все равно оно не работает.
kashish
1
Большое спасибо! Я изменил значение на «domain.local», и все работает
Николай Силин
Спасибо большое!! для меня это было проблемой! : D
Pierre-Verthume Larivière
14

Я ссылаюсь на ваш домен в magento как на example.com в этом посте. Если это www.example.com или store.example.com или что-то еще, замените соответственно.

Я только столкнулся с этой проблемой, и вот особенности. Magento 2 2.2.2 установить. Первоначально я настроил защищенные базовые URL- адреса на http://example.com/, и когда я настраивал свой SSL-сертификат letsencrypt на моем сервере, я бездумно включил опцию перенаправления всего http-трафика на https.

Обычно это не проблема, но Magento может быть немного темпераментным. Я посетил мой магазин и мой SSL работает правильно, но когда я попытался получить доступ к администратору, я получил уведомление «ERR_TOO_MANY_REDIRECTS» и неудачную загрузку страницы.

Я вижу несколько способов решить эту проблему, но один, который помог мне с первой попытки, был следующим.

  1. SSH в сервер.
  2. Перейдите к вашему magento для установки dir.
  3. выполните следующую команду:
    • php bin / magento config: показать

просмотрите выходные данные и найдите 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 config: чувствительный: установить web / secure / base_url https://example.com/
  2. php bin / magento config: чувствительный: установить web / secure / base_link_url https://example.com
  3. php bin / magento config: установить web / secure / use_in_adminhtml 1
  4. php bin / magento cache: чистый

После этого зайдите на страницу администратора, очистите кеш браузера, перезагрузите компьютер, и теперь у вас должен быть доступ обратно! с поддержкой SSL.

Первый шаг, который я хотел бы предпринять после этого, - это снова войти на портал администратора и проверить параметры конфигурации, чтобы убедиться, что вы не столкнетесь с какими-либо другими непредвиденными проблемами.

Я надеюсь, что это поможет!

Вот несколько ресурсов Magento, которые помогут вам:

Установить значения конфигурации

Справочник по другим путям конфигурации

Чувствительные и системные ссылки

Райан Уилсон
источник
1
Благодарю. Кроме того, plesk установил перенаправление с http на https, которое мне пришлось отключить, чтобы получить бэкэнд magento. Примечание: очистка кэша является важным шагом здесь.
s.Daniel
11

В моем случае я скопировал веб-сайт с сервера клиента и настраивал его в своей локальной системе. Я просто удалил cookie / домен из

core_config_data

таблицы, а затем очистили кеш, у меня все заработало!

Вы также можете сделать это:

В таблице «core_config_data» удалите значение «web / cookie / cookie_domain» и установите для «web / cookie / cookie_httponly» значение «0». Очистите кеш, удалив файлы в "var / cache".

Джитендра Мандлой
источник
4

У меня была такая же проблема после переключения сайта на https. Когда я проверял web / cookie / cookie_domain в core_config_data, это было 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
discoape
источник
3

Я получил ошибку ERR_TOO_MANY_REDIRECTS, потому что я забыл установить версию PHP на PHP7.

Питер Лауге
источник
2

Эта ошибка возникает из-за использования в localhostкачестве имени вашего хоста, особенно в Chrome. Мы рекомендуем использовать свой собственный домен. Проверьте блог Алана для деталей

Это не Magento, это то, что веб-браузеры ведут себя по-разному, когда используются с доменным именем, содержащим менее 2 точек, например localhost.

Мэдди
источник
Где OP упомянул, что установил его, используя localhost?
MrUpsidown
2

Вы можете попробовать переустановить Magento с локальным IP, а не с localhost.

Это будет 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

wuxmedia
источник
0

Не используйте умлауты в base-url, например:

www.yourhost/österreich

Я должен был переименовать его в

Detzler
источник
0

В моем случае я установил значение для web/cookie/cookie_domainпути в core_config_dataтаблице в NULL .

Вы можете сделать это, используя Magerun , вот так:

magerun config:set web/cookie/cookie_domain NULL
Анна П
источник
0

В моем случае я использовал IP вместо localhost, но все еще не разрешил. Изменен ключ админки. Это сработало.

Конечно, все приведенные выше ответы остаются в силе, так как мы сталкивались и применяли их во время разработки.

Chrome вызывает это много. Firefox немного лучше справляется с этим.

Калян Чакраварти V
источник
0

Я использую Magento 2 в AWS и, следуя предложению Райана Уилсона, исправил проблему, перейдя в папку htdocs, где установлен magento, и использую следующую команду

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
codelearner
источник
0

в версии magento 2.2 я даже не нашел пути web / cookie / cookie_domain в core_config_data. так что в моем случае проблема была с сервисом memcached. Я установил session.save_handler = memcached в php.ini в соответствии с документами magento, и это помешало администратору правильно открыться, в то время как front был в порядке. После смены обработчиков обратно на session.save_handler = файлы все работали

Алекс Д
источник
0

У меня была та же проблема, чтобы исправить это, войдя в

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

значение изменяется на NULL на 1

Аади Мугхал
источник
0

Вручную удалить var / cache / * и var / session / * исправили для меня после перемещения сайта из одного субдомена в другой и изменения необходимых base_urls.

Дейв
источник
0

Ни одно из предложенных здесь решений не работало для моей среды разработки, работающей в контейнере Docker. Для меня сработало изменение следующей строки в etc/nginx/fastcgi:

fastcgi_param HTTPS $https if_not_empty;

... чтобы:

fastcgi_param HTTPS on;

Источник: https://magenticians.com/magento-ssl-configuration-issues-resolved/#Enabling-SSL .

ACJ
источник
(Не забудьте перезапустить контейнер после внесения указанных изменений.)
ACJ
0

В моем случае Windows не производила перехватчики должным образом. Я скомпилировал код в моей ОС Windows и скопировал код в мой докер-контейнер. Я полагаю, что проблема - это проблема пути. Смотри здесь

Моя версия Magento была 2.3.3

Лукас Комарек
источник
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
Pradino
источник