Magento 2 właśnie wypuszczono zeszłej nocy i nie mogę się doczekać, aby nad tym popracować. Próbowałem zainstalować go ze wszystkimi warunkami wstępnymi.
Frontend działa dobrze, ale kiedy próbowałem otworzyć backend, mówi „ta strona ma pętlę przekierowań”. Magento utworzył „admin_r2sxkn” jako unikalny adres URL zaplecza. Mój adres URL administratora to http: // localhost / magento2 / admin_r2sxkn
Jako rozwiązanie próbowałem usunąć pamięć podręczną, która nie działała.
PS Mam Xampp na Mac, z najnowszymi wersjami PHP i MySql, zainstalowane rozszerzenie PHP w razie potrzeby.
Każda pomoc będzie mile widziana.
W moim przypadku importowałem już istniejącą bazę danych Magento 2. Przyczyną tego błędu był domena plików cookie w bazie danych. Przejdź do bazy danych i zajrzyj do tabeli
core_config_data
. Powinieneś zobaczyć ścieżkę o nazwieweb/cookie/cookie_domain
. Upewnij się, że domena jest zgodna z domeną, na której zainstalowałeś Magento 2. Przykład: Jeśli zainstalowałeś Magento 2 nalocal.dev/<magento-root>
wejściuweb/cookie/cookie_domain
powinno byćlocal.dev
.źródło
Wystąpił problem z pętlą przekierowań na Magento2 z prawidłową nazwą domeny po przełączeniu na https.
Sprawdź
web/secure/use_in_adminhtml
iweb/secure/use_in_frontend
ustawieniacore_config_data
, oba powinny być ustawione na1
.źródło
select * from core_config_data where path like 'web/%';
magento config:set web/secure/use_in_adminhtml 1
imagento config:set web/secure/use_in_frontend 1
podczas instalacji magento2 na lokalnym hoście spróbuj użyć 127.0.0.1 w adresie sklepu w kroku 3 zamiast localhost. teraz możesz zmienić tabelę core_config_data po 2 wierszach
wyczyść pamięć podręczną i sprawdź teraz
Edytowane: -
Podczas instalacji wypróbuj 127.0.0.1 na adresie sklepu w kroku 3, jak pokazano na zrzucie ekranu
źródło
Miałem domenę w postaci local.abc_def.com i występował ten problem.
Zmieniłem podkreślenie w domenie na myślnik, w wyniku czego otrzymałem domenę local.abc-def.com i to rozwiązało problem
źródło
Może być debugowany w \ Magento \ Backend \ Controller \ Adminhtml \ Auth \ Login :: execute
Na przykład z
To umiera, a adresy URL są różne, co daje wskazówkę do problemu.
źródło
admin/
na przykład), sprawdza to względem adresu URL z kluczem i przekierowuje ... do innego adresu URL z kluczem, który jest sprawdzany względem adresu URL, który ma następnie inny klucz?Spróbuj wyczyścić folder var / cache. To pomaga mi.
źródło
Mam lepsze rozwiązanie, aby rozwiązać powyższy problem.
Otwórz plik .htaccess
znajdź linię
W zależności od problemu odkomentuj linię jako
Uwaga: Zapisz plik .htaccess Wyczyść całą pamięć var / cache i pamięć podręczną przeglądarki.
źródło
Przed instalacją musisz wybrać prawidłową nazwę domeny. Na przykład:
www.magento2-test.dev
zamiastlocalhost
. Więcej informacji na temat tego problemu: tutajźródło
Użyj
localhost
jako rzeczywistej domeny najwyższego poziomu zamiast autonomicznej i powinieneś być w stanie to zarządzać. Używanie.dev
nie jest dobrym pomysłem, jak wyjaśniono w tym artykule: https://iyware.com/dont-use-dev-for-development/http://magento.localhost/
byłoby odpowiednie lub jeśli masz jakieś,DOMAIN.com
które zostaną wdrożone później, możesz to zrobićDOMAIN.localhost
co później skończy się w DOMAIN.com, a następnie możesz zakodować swój serwer WWW, aby szukał nazwy hosta niezależnie od użytej TLD.np. jeśli masz dwa sklepy w DOMAIN1.com i DOMAIN2.com, wprowadź swoje reguły w nginx conf (lub dowolny inny serwer WWW), tak jak w
DOMAIN1.*
przypadku kodu oceniającego kod specyficzny dla DOMAIN1. Apache, możesz użyć czegoś takiego jakSetEnvIf Host DOMAIN1\.(localhost|com)$ VAR=val
w swoim.htaccess
pliku.źródło
W niektórych scenariuszach usunięcie plików cookie specyficznych dla instalacji Magento2 i wyczyszczenie plików pamięci podręcznej Magento
var/cache
rozwiąże ten problem.źródło
Należy usunąć var / cache / * i uruchomić polecenie setup: static-content: deploy. powinna być praca. Rozwiązałem ten problem na moim localhost z powyższym krokiem
źródło
Po zmianie http na https należy zaktualizować następujące wartości w tabeli core_config_data.
Następnie wyczyść pamięć podręczną i ponownie załaduj adres URL administratora.
źródło
Spędziłem 8 godzin na ten temat, oto moje wnioski
1 zestaw AllowOverride all w konfiguracji katalogu apache, przynajmniej aby pobrać plik .htaccess do odczytu, w folderze magento jest uniwersalnym rozwiązaniem do uruchomienia frontoffice i backoffice
2) zestaw RewriteBase / in .htaccess lub podfolder, jeśli localhost / magento
3) Upewnij się, że używasz https jako ścieżki administratora, na wypadek gdyby te żądania okazały się przydatne (w przeciwnym razie admin cookie nie ustawi się wcale):
d = magento.twojadomena.lokalnyhost ;
mysql -ua -pb -e "UPDATE magento.core_config_data SET wartość = ' https : // $ d /' GDZIE ścieżka w ('web / secure / base_url')";
mysql -ua -pb -e "AKTUALIZUJ magento.core_config_data SET wartość = 1 GDZIE ścieżka w (' web / secure / use_in_adminhtml ')”
php bin / magento cache: flush
4) To wszystko, usunąłem wszystkie błędne przypuszczenia z tego postu, ponieważ były one bardzo na pierwszy rzut oka ..
źródło
Jeśli używasz Lakieru, nie zapomnij ustawić:
RequestHeader set X-Forwarded-Proto "https"
w konfiguracji hosta wirtualnego. Znalazłem to tutaj: http://www.sivaschenko.com/apache-ssl-termination-https-varnish-cache/
źródło
Inną rzeczą, na którą należy zwrócić uwagę, jest to, że silnik serwera WWW (nginx / apache) nasłuchuje na porcie SSL 443 i że masz skonfigurowane certyfikaty. Był to dla mnie problem wraz z poradami zawartymi już w innych odpowiedziach.
źródło