Magento 2 admin Bu web sayfasının bir yönlendirme döngüsü var


26

Magento 2 dün gece serbest bırakıldı ve üzerinde çalışmak için sabırsızlanıyorum. Tüm önkoşullarla yüklemeyi denedim.

Frontend iyi çalışıyor ancak backend'i açmaya çalıştığımda "bu web sayfasının bir yönlendirme döngüsü var" yazıyor. Magento "admin_r2sxkn" ı benzersiz bir arka uç URL'si olarak yarattı. Yönetici URL’m http: // localhost / magento2 / admin_r2sxkn

Çözüm olarak işe yaramayan önbelleği silmeyi denedim.

PS Mac üzerinde xampp var, PHP ve MySql'nin en son sürümleri ile gereken PHP eklentisini de yükledim.

Herhangi bir yardım takdir edilecektir.

görüntü tanımını buraya girin

Yanıtlar:


17

Tarayıcılar, localhost gibi üst düzey alan adlarındaki çerezleri desteklemez. Lütfen Magento'yu farklı bir ana bilgisayar adına (örneğin. Magento.dev) yeniden yükleyin.

Ayrıca, Magento sadece Linux'u destekliyor. Geliştirme için Vagrant kullanmak çok daha iyi . Tüm işleri sizin için yapan önceden var olan preconfiguret serseri örneğini kullanabilirsiniz.


Magento sadece Linux'u destekliyor mu?
Bhargav Nanekalva


MacOS gibi Linux benzeri işletim sistemlerinde çalışabilir (çoğu insan bunu geliştirme için yapar; örneğin, github.com/weprovide/valet-plus ). Ancak resmi olarak desteklenmiyor, bu yüzden beklenmedik uyumsuzluklar olabilir.
Scott Buchanan,

22

Benim durumumda zaten mevcut bir Magento 2 veritabanını ithal ediyordum. Hatayı almamın nedeni, veritabanındaki çerez alanından kaynaklanıyordu. Veritabanına git ve tabloya bak core_config_data. Adında bir yol görmelisin web/cookie/cookie_domain. Etki alanının, Magento 2'yi yüklediğinizle aynı olduğundan emin olun. Ör: Magento 2'yi yüklediyseniz local.dev/<magento-root> girişte web/cookie/cookie_domainolmalıdır local.dev.


Bu benim de
sorunumdu

bu posta sebebi
Amit Bera

1
core_config_data arasından * seçimini yapın, burada "web /%" gibi bir yol;
david

11

Magento2'de https'e geçtikten sonra geçerli bir alan adıyla yeniden yönlendirme döngüsü sorunu vardı.

Kontrol edin web/secure/use_in_adminhtmlve web/secure/use_in_frontendayarların core_config_dataikisi de ayarlanmalı 1.


Teşekkürler Elene, bir zamanlar cehennemimizi kurtardın. benim için çalıştı. değerleri görmek için sorgu:select * from core_config_data where path like 'web/%';
Shahzaib Hayat Khan

Bu tam ihtiyacım olan şeydi. Oldukça veritabanında kayıtlarını düzenleme daha komut satırından bunu daha uygunsa Ayrıca, bu kadar magento config:set web/secure/use_in_adminhtml 1vemagento config:set web/secure/use_in_frontend 1
Colin

9

magento2'yi localhost'a kurarken, localhost yerine 3. adımda mağaza adresinizde 127.0.0.1'i kullanmayı deneyin. Şimdi ne yapabilirsiniz? 2 satır sonrasında core_config_data tablo değişikliği

web/unsecure/base_url to http://127.0.0.1/magento2/
web/secure/base_url to https://127.0.0.1/magento2/

önbelleği temizle ve şimdi kontrol et

Düzenlendi: -

Yükleme sırasında, ekranınızda gösterildiği gibi 3. adımda mağaza adresinizde 127.0.0.1'i deneyin.

görüntü tanımını buraya girin


Ben aynı değişiklikleri, magento2 yönetici şimdi firefox ile çalışan yapılmış ancak krom, ben de açık önbellek, ancak hiçbir sonuç
Dinesh

5

Local.abc_def.com formunun bir etki alanı vardı ve bu sorunu yaşıyordum.

Etki alanındaki alt çizgiyi kısa çizgi olarak değiştirdim, bu da bir local.abc-def.com etki alanına neden oldu ve bu benim için sorunu düzeltti


4

\ Magento \ Backend \ Controller \ Adminhtml \ Auth \ Login :: execute içinde hata ayıklanabilir

Örneğin

    $requestUrl = $this->getRequest()->getUri();
    $backendUrl = $this->getUrl('*');
    // redirect according to rewrite rule
    echo (string)$requestUrl . ' != ' . $backendUrl;
    die();

Bu ölür ve URL'ler farklıdır, bu soruna ipucu verir.


OP ile neredeyse aynı problemi yaşıyorum ancak bu değişkenleri kontrol etmek sadece daha fazla soru soruyor - iki URL asla eşleşmiyor, çünkü anahtar her seferinde farklı. Anahtarsız bir URL'yi yüklemeyi denersem ( admin/örneğin, bir anahtarla URL’ye karşı denetler ve ... başka bir anahtarın olduğu bir URL’ye göre denetlenen bir anahtarla başka bir URL’ye yönlendirir?
James,

Doğru, özel bir yönetici URL'si kullanarak bir hata / yanlış yapılandırma gibi görünüyor - bunu env.php dosyasındaki 'admin' olarak sıfırlamak sorunu çözdü!
James,

2

Var / cache klasörünü temizlemeyi deneyin. Bana yardım ediyor.


Bu bana son bir hayat denemesi olarak yardımcı oldu .. thanks @karick
Ask Bytes

0

Yukarıdaki sorunu çözmek için daha iyi bir çözümüm var.

.Htaccess dosyasını açın

çizgiyi bul

 #RewriteBase / magento /

Senin sorunun göre, satır olarak uncomment

  RewriteBase / magento2 /  

Not-: .htaccess dosyasını kaydedin Tüm var / cache ve browser önbelleklerini temizleyin.



0

Kullanım localhostyerine bağımsız gerçek bir üst düzey alan adı olarak ve bu yönetmek mümkün olmalıdır. Kullanımı .devbu makalede açıklandığı gibi iyi bir fikir değil: https://iyware.com/dont-use-dev-for-development/

http://magento.localhost/uygun olacaktır veya DOMAIN.comdaha sonra dağıtılacak bir DOMAIN.localhostkimliğiniz varsa, daha sonra DOMAIN.com'da sona erecek olanı yapabilirsiniz ve kullandığınız TLD ne olursa olsun, ana bilgisayar adını aramak için web sunucunuzu kodlayabilirsiniz.

örn. DOMAIN1.com ve DOMAIN2.com adresinde iki mağazanız varsa, DOMAIN1.*DOMAIN1 kodunu değerlendiren kod için olduğu gibi kurallarınızı nginx conf (ya da seçtiğiniz web sunucunuz ne olursa olsun) olarak girin . Apaçi gibi bir şey kullanıyor olabilir SetEnvIf Host DOMAIN1\.(localhost|com)$ VAR=valsizin de .htaccessdosyaya.


0

Bazı senaryolarda, Magento2 kurulumuna özel çerezleri silmek ve Magento önbellek dosyalarını silmek var/cachebu sorunu çözecektir.


0

Var / cache / * dosyasını silmeli ve setup: static-content: deploy komutunu çalıştırmalısınız. iş olmalı. Bu sorunu localhost'umda yukarıdaki adımla çözdüm


0

Http / https değiştirdikten sonra core_config_data tablosunda aşağıdaki değerleri güncellemeniz gerekir.

UPDATE core_config_data SET value = REPLACE(value, '0', '1') WHERE path = 'web/secure/use_in_frontend';

UPDATE core_config_data SET value = REPLACE(value, '0', '1') WHERE path = 'web/secure/use_in_adminhtml';

Sonra önbellekleri temizle ve yönetici URL'sini yeniden yükle.


0

Bu konuda 8 saat geçirdim, işte sonuçlarım

1) AllowOverride tümünü apache dizin yapılandırmasında ayarlayın, en azından .htaccess dosyasının okunması için magento klasöründe frontoffice & & backoffice'in çalışmasını sağlamak için evrensel bir çözümdür

2) localhost / magento ise RewriteBase / in .htaccess veya bir alt klasör seçin.

3) Bu isteklerin kullanışlı olduğunu kanıtlaması durumunda admin yolu için https kullandığınızdan emin olun (aksi takdirde yönetici çerezi hiç ayarlanmaz):

d = magento.alanınız.localhost ;

mysql -ua -pb -e "GÜNCELLEME magento.core_config_data SET value = ' https : // $ d /' NEREDE yolu ('web / secure / base_url')";

mysql -ua -pb -e "UPDATE magento.core_config_data SET değeri = 1 NEREDE yolunda (' web / secure / use_in_adminhtml ')"

php bin / magento önbelleği: floş

4) Hepsi bu, ilk bakışta çok fazla olduğu gibi, bu yazının tüm yanlış tahminlerini kaldırdım ..



0

Dikkat edilmesi gereken bir başka şey, web sunucusu motorunuzun (nginx / apache) 443 numaralı SSL portunu dinlemesi ve yapılandırılmış sertifikalara sahip olmanızdır. Bu, benim için başka cevaplarda daha önce belirtilen tavsiyeyle birlikte sorun oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.