Помилка Magento 2.2 "Сторінка не перенаправляється належним чином"


10

Я тестую власний модуль на Magento CE 2.2.0, але продовжую отримувати "Сторінка не перенаправляється належним чином". Переглядаючи мережевий трафік, я бачу такі запити:

  • / magento22-acumulus / admin /
  • / magento22-acumulus / admin / admin / index / відмовлено /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / відмовлено /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / відмовлено /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • ...

Моя установка:

  • локальна установка на базовий URL / magento22-acumulus /
  • Wampserver 3.0.8 з php 7.0.10 та Apache 2.4.23

Що я зробив:

  • встановіть Magento 2.2.0 із зразковими даними
  • налаштування змінені: видаліть секретний ключ та використовуйте стандартний адміністратор / URL
  • перевірив це: я отримую екран входу
  • встановити мій модуль, модуль: включення, налаштування: оновлення, налаштування: di: компілювати
  • перевірено це: помилка, як зазначено вище
  • модуль: відключити, кеш: очистити, налаштування: di: компілювати
  • перевірив це: я отримую екран входу
  • повторював це кілька разів, за тією ж схемою, тож я думав, що це стосується мого модуля.
  • Але тоді я один раз змусив свій модуль, і я зміг перейти на власні сторінки. На жаль, помилка повернулася, тому я продовжував робити налагодження, включаючи та відключаючи модуль, але не міг знайти проблему.
  • і тепер я також отримую проблему без включеного модуля. Тому я думаю, що це сам дивний стан / помилка в самому Magento.

Яка тут може бути проблема?


якщо у вас є рішення, будь ласка, опублікуйте свою відповідь
lalit mohan

На жаль, поки що. Я припинив тестування свого модуля на MA2.2 і тепер тестую його лише на MA2.1. Мій модуль використовується клієнтами на MA2.2, тому більше причин вважати, що це не якась помилка в налаштуваннях, налаштуваннях або коді мого модуля. Якщо, врешті-решт, я знайду рішення, я його опублікую.
fietserwin

У мене така ж проблема. Я дізнався, що існує проблема з моїм модулем Helper Class .. Ви повинні перевірити свої модулі по черзі .. відключити, щоб з’ясувати, що викликає помилку ..
lalit mohan

Ви можете поділитися зображенням, на що ви отримаєте точну помилку?
sarvesh Dineshkumar Patel

ви спробували це у свіжому варіанті, не додаючи розширень чи ще?
sarvesh Dineshkumar Patel

Відповіді:


1

Я не впевнений, це помилка в процесі компіляції чи щось не так з кодом модуля. У моєму випадку компіляція Magento неправильно створювала перехоплювач для класу мого модуля (без фактично визначеного конструктора), який розширював ще один клас іншого модуля, який розширював клас з ядра Magento (обидва з визначеними конструкторами). Це також створювало порожню сторінку у фронталі, окрім проблем, про які ви згадали. Після кількох свіжих встановлень Magento 2.2, а також Magento 2.1 з тією ж проблемою, це спрацювало для мене:

  • Увімкнути режим розробника: розгортання php bin / magento: режим: встановити розробника
  • Встановіть модуль (завантажте / скопіюйте файли), після чого запустіть php bin / magento setup: upgrade
  • Замість того, щоб запускати процес компіляції (необхідний лише тоді, коли змінюється порядок аргументів конструктора або змінюються типи аргументів), просто видаліть папку / згенерований / код / ​​YOURMODULENAMESPACE

0

Оскільки ви використовуєте Apache, я пропоную вам включити RewriteLog. Потім повторіть проблему та перевірте журнали ще раз.

RewriteLog "logs\rewritelog.txt"    
RewriteLogLevel 3

Дякую за вашу відповідь, але що це могло мене навчити? Я вже намагався налагоджувати, тож знаю, що кожен перенаправлений запит обробляється Magento. Я не бачу, як Apache входить у картину?
fietserwin

Magento - не веб-сервер. Веб-сервер apache використовує перенаправлення. Отже, оскільки помилка стосується перенаправлення, в першу чергу слід шукати ia, що робить апаш. У вас є 50% чанів, щоб побачити, що апачі виконують дивні перенаправлення (http-to-https або подібні) і 50% -ні чанки, щоб побачити, що magento вказує apche переспрямовувати дивним чином, можливо, як не-www на www або viceversa.
x86fantini

Magento повертає в браузер інструкції про переадресацію. Немає проблеми http проти https (як у багатьох інших звітах про нескінченні переадресації MA2.2), ні www проти non-www, як це є у localhost. Переспрямування - на сторінки, як описано в питанні.
fietserwin

0

Минулого тижня я знову спробував встановити чисте середовище M2.3.4 (із зразковими даними), і, схоже, працює. За винятком того, що після установки: di: компілювати ця проблема з’явилася знову. Однак видалення згенерованого коду з / згенерованого / коду змусило його знову працювати ... Отже, це може бути проблема в генераторі або якийсь код, який перевіряє тип об'єкта і не обслуговує створені класи перехоплювачів. .

@Gabriel MdS відповів більш-менш на те саме, але для мене це сталося і тоді, коли мій власний модуль ще не був встановлений, тому я мав лише чисту інсталяцію із зразковими даними.

Отже, не остаточна відповідь чи рішення, але, безумовно, разом із відповіддю @Gabriel MdS, сильний натяк на процес генерації.


0

Я знаю, що це старий протектор, але він посів перше місце в моєму пошуку Google. Жодна з цих відповідей мені не допомогла, але я відчуваю те саме питання і змогла його вирішити. У моїй установці використовується зворотний проксі. За проксі-сервером я використовую http (non-ssl), а перед проксі-сервером дозволено лише https (ssl). Це спричинило мою проблему з переадресацією.

Рішення: додайте наступний рядок (відразу після коментарів) до pub / index.php

$ _SERVER ['HTTPS'] = 'увімкнено';

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.