Testuję własny moduł na Magento CE 2.2.0, ale ciągle pojawia się komunikat „Strona nie przekierowuje poprawnie”. Patrząc na ruch sieciowy, widzę te żądania:
- / magento22-acumulus / admin /
- / magento22-acumulus / admin / admin / index / denied /
- / magento22-acumulus / admin / admin / auth / login /
- / magento22-acumulus / admin / admin /
- / magento22-acumulus / admin / admin / index / denied /
- / magento22-acumulus / admin / admin / auth / login /
- / magento22-acumulus / admin / admin /
- / magento22-acumulus / admin / admin / index / denied /
- / magento22-acumulus / admin / admin / auth / login /
- / magento22-acumulus / admin / admin /
- ...
Moja konfiguracja:
- instalacja lokalna na podstawowym adresie URL / magento22-acumulus /
- Wampserver 3.0.8 z php 7.0.10 i Apache 2.4.23
Co ja zrobiłem:
- zainstaluj Magento 2.2.0 z przykładowymi danymi
- ustawienia zmienione: usuń tajny klucz i użyj standardowego adresu admin / url
- przetestowałem to: dostaję ekran logowania
- zainstaluj mój moduł, moduł: włącz, ustaw: aktualizuj, ustaw: di: kompiluj
- przetestowałem to: błąd jak wyżej
- moduł: wyłącz, pamięć podręczna: wyczyść, ustaw: di: kompiluj
- przetestowałem to: dostaję ekran logowania
- powtórzyłem to wiele razy, ten sam wzór, więc myślałem, że to ma związek z moim modułem.
- Ale potem mój moduł działał raz i mogłem przejść do własnych stron. Niestety błąd wrócił, więc kontynuowałem debugowanie, włączając i wyłączając moduł, ale nie mogłem zlokalizować problemu
- a teraz dostaję problem bez włączonego modułu. Myślę więc, że jest to jakiś dziwny warunek / błąd w samym Magento.
W czym może być problem?
admin
magento2.2
fietserwin
źródło
źródło
Odpowiedzi:
Nie jestem pewien, czy jest to błąd w procesie kompilacji, czy coś nie tak z kodem modułu. W moim przypadku kompilacja Magento niepoprawnie tworzyła przechwytywacz dla klasy w moim module (bez faktycznie zdefiniowanego konstruktora), który rozszerzył inną klasę innego modułu, który rozszerzył klasę z rdzenia Magento (oba ze zdefiniowanymi konstruktorami). Tworzyło to również pustą stronę w interfejsie, oprócz wspomnianych problemów. Po kilku nowych instalacjach Magento 2.2 i Magento 2.1 z tym samym problemem zadziałało to dla mnie:
źródło
Ponieważ używasz Apache, proponuję włączyć RewriteLog. Następnie powtórz problem i sprawdź ponownie dzienniki.
źródło
W zeszłym tygodniu próbowałem ponownie zainstalować czyste środowisko M2.3.4 (z przykładowymi danymi) i, hoora, wydaje się, że działa. Tyle że po wykonaniu instalacji: di: kompilacja ten problem pojawił się ponownie. Jednak usunięcie wygenerowanego kodu z / wygenerowanego / kodu sprawiło, że znów działało ... Może to być problem w generatorze lub jakiś kod, który sprawdza typ obiektu i nie obsługuje wygenerowanych klas przechwytujących. .
@Gabriel MdS odpowiedział mniej więcej na to samo, ale dla mnie stało się to również wtedy, gdy mój własny moduł nie był jeszcze zainstalowany, więc miałem tylko czystą instalację z przykładowymi danymi.
Nie jest to więc ostateczna odpowiedź ani rozwiązanie, ale z pewnością wraz z odpowiedzią @Gabriel MdS stanowi mocną wskazówkę do procesu generowania.
źródło
Wiem, że to stary bieżnik, ale zajął pierwsze miejsce w mojej wyszukiwarce Google. Żadna z tych odpowiedzi mi nie pomogła, ale mam ten sam problem i udało mi się go rozwiązać. Moja konfiguracja używa odwrotnego proxy. Za proxy używam http (non-ssl), a przed proxy dozwolone jest tylko https (ssl). To spowodowało mój problem z przekierowaniem.
Rozwiązanie: dodaj następujący wiersz (bezpośrednio po komentarzach) do pub / index.php
$ _SERVER ['HTTPS'] = 'on';
źródło