Magento 2 Galat ERR_TOO_MANY_REDIRECTS

20

Saya baru mengenal Magento, setelah pemasangan edisi komunitas Magento 2. Saya tidak dapat mengakses panel admin. Saya mendapatkan kesalahan di bawah ini.

Halaman web ini memiliki redirect loop

Galat ERR_TOO_MANY_REDIRECTS

Tolong bantu saya untuk menyelesaikan masalah ini. Maju terima kasih untuk semua.

Abdul Aziz
sumber
Berikan lebih banyak informasi. Bagaimana Anda menginstal magento? Apa parameternya, yang Anda masukkan saat instalasi
Arkadii Chyzhov
Apakah Anda mengaktifkan XDebug?
Alex Paliarush
Setelah beberapa masalah pengaturan SSL saya mendapat masalah yang sama. Hanya menjalankan ini memperbaikinya: sudo php bin / magento cache: flush
AdNauseum

Jawaban:

28

Saya memiliki masalah yang sama dengan memanipulasi basis data, jawaban ini menyelesaikan masalah saya ERR_TOO_MANY_REDIRECTS:

/magento//a/84756/50635

Untuk memperbaikinya, silakan coba atur Gunakan URL Aman di Admin menjadi true, di System -> Config -> General -> Web.

Atau dengan akses database, ubah nilai rekaman berikut ke 1 :

SELECT * FROM core_config_data where path like '%web/secure/use_in_adminhtml%';
Ketergantungan
sumber
5
Dalam kasus saya, nilainya sudah 1, masih saya melihat kesalahan ini.
kashish
1
bekerja seperti pesona
mrtuvn
Bekerja, sangat bagus
Vu Tran Kien
Terima kasih!! Bekerja seperti yang diharapkan!
MazeStricks
18

Dalam kasus saya, saya mengimpor database Magento 2 yang sudah ada. Alasan saya mendapatkan kesalahan adalah karena domain cookie dalam database. Pergi ke database Anda dan lihat di tabel core_config_data. Anda akan melihat jalan yang disebut web/cookie/cookie_domain. Pastikan domain cocok dengan yang Anda pasang Magento 2. Mis: Jika Anda menginstal Magento 2 di local.dev/<magento-root> entri web/cookie/cookie_domainseharusnya local.dev.

Paul
sumber
4
Saya mengalami masalah yang sama. Saya mengubah nilai web/cookie/cookie_domaindari NULL ke nama domain saya, tetapi tetap saja tidak berfungsi.
kashish
1
Terima kasih banyak! Saya mengubah nilai ke "domain.local" saya dan semuanya berfungsi
Nikolai Silin
Terima kasih banyak!! bagi saya itu masalahnya! : D
Pierre-Verthume Larivière
14

Saya merujuk ke domain toko magento Anda sebagai example.com dalam posting ini. Jika www.example.com atau store.example.com atau apalah, gantilah.

Saya baru saja mengalami masalah ini dan inilah spesifikasinya. Magento 2 2.2.2 instal. Saya telah mengonfigurasi url pangkalan aman ke http://example.com/ pada awalnya dan saat saya mendapatkan sertifikat allowencrypt ssl saya terkonfigurasi di server saya, saya tanpa pikir-pikir mengaktifkan opsi untuk mengalihkan semua lalu lintas http ke https.

Ini tidak akan menjadi masalah secara normal, tetapi Magento bisa sedikit temperamental. Saya mengunjungi etalase saya dan SSL saya berfungsi dengan benar, tetapi ketika saya mencoba mengakses admin, saya menerima pemberitahuan "ERR_TOO_MANY_REDIRECTS" dan gagal memuat halaman.

Saya melihat beberapa cara untuk memperbaiki masalah ini tetapi satu yang berhasil untuk saya pertama kali adalah ini.

  1. SSH ke server.
  2. cd ke dir instalasi magento Anda.
  3. jalankan perintah berikut:
    • php bin / magento config: show

lihat output dan cari web / secure / base_url, web / secure / base_link_url & web / secure / use_in_adminhtml .

Nilai-nilai ini harus dikonfigurasi dengan https://example.com/ untuk opsi url dan web / secure / use_in_adminhtml = 1.

Jika tidak, Anda dapat menjalankan perintah berikut dari direktori pemasangan magento untuk memperbarui konfigurasi Anda.

  1. php bin / magento config: sensitive: set web / secure / base_url https://example.com/
  2. php bin / magento config: sensitive: set web / secure / base_link_url https://example.com
  3. php bin / konfigurasi magento: setel web / secure / use_in_adminhtml 1
  4. cache bin / magento php: clean

Setelah itu, kunjungi halaman admin Anda, kosongkan cache browser Anda, muat ulang, dan sekarang Anda harus memiliki akses kembali! dengan dukungan SSL.

Langkah pertama yang akan saya ambil setelah itu adalah masuk kembali ke portal admin dan memverifikasi opsi konfigurasi Anda untuk memastikan Anda tidak akan mengalami masalah yang tidak terduga lainnya.

Semoga bantuan ini!

Berikut ini beberapa sumber Magento untuk membantu memandu Anda:

Tetapkan Nilai Konfigurasi

Referensi Jalur Konfigurasi Lainnya

Referensi Sensitif dan Spesifik Sistem

Ryan Wilson
sumber
1
Terima kasih. Selain itu, saya memiliki pengaturan pengalihan oleh plesk dari http ke https yang harus saya nonaktifkan untuk mendapatkan backend magento. Catatan: membersihkan cache adalah langkah penting di sini.
s.Daniel
11

Dalam kasus saya, saya menyalin situs web dari server klien, dan mengaturnya di sistem lokal saya. Saya cukup menghapus cookie / domain dari

core_config_data

tabel dan kemudian mem-cache, itu berhasil untuk saya!

Anda juga dapat melakukannya:

Dalam tabel "core_config_data" hapus nilai "web / cookie / cookie_domain" dan set "web / cookie / cookie_httponly" menjadi "0". Bersihkan cache dengan menghapus file di "var / cache".

Jitendra Mandloi
sumber
4

Saya memiliki masalah yang sama setelah beralih situs ke https. Ketika saya memeriksa web / cookie / cookie_domain di core_config_data itu 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)

Saya kemudian mengaturnya ke fqdn saya:

mysql> update core_config_data set value = 'mysites.fqdn.com' where path = 'web/cookie/cookie_domain' ;

Setelah itu saya me-restart situs web dan berfungsi dengan baik:

systemctl restart apache2
disko
sumber
3

Saya mendapatkan kesalahan ERR_TOO_MANY_REDIRECTS karena saya lupa mengatur versi PHP ke PHP7.

Peter Lauge
sumber
2

Kesalahan ini terjadi karena menggunakan localhostsebagai nama host Anda, terutama di Chrome. Kami sarankan untuk menggunakan domain Anda sendiri. Lihat blog Alan untuk detailnya

Ini bukan Magento, itu browser web yang berperilaku berbeda ketika digunakan dengan nama domain dengan kurang dari 2 titik di dalamnya, seperti localhost.

Maddy
sumber
Di mana OP menyebutkan dia menginstalnya menggunakan "localhost"?
MrUpsidown
2

Anda dapat mencoba menginstal ulang Magento dengan IP lokal Anda daripada localhost.

Ini akan menjadi http://127.0.0.1/foldername. Setelah menginstal cara ini, Anda akan dapat mengaksesnya dari browser apa pun.

Anda juga dapat mengubah catatan dalam database di core_config_data di mana nilainya akan terlihat seperti:

http://localhost/foldername/

ganti itu menjadi

http://127.0.0.1/foldername/

Dalam kedua cara, nama lipat adalah direktori Anda di mana Magento berada.

Aman Srivastava
sumber
2

Juga - hanya untuk menambahkan apa yang saya alami, jika Anda melayani dari apache tetapi menggunakan nginx untuk menghentikan ssl (dan mungkin pernis cache) maka pastikan apache Anda memiliki

 SetEnvIf X-Forwarded-Proto "https" HTTPS=on

kalau tidak, ia berputar-putar dengan nginx redirect frenzy

wuxmedia
sumber
0

Jangan gunakan umlaut di url dasar misalnya:

www.yourhost/österreich

Saya harus mengubah nama menjadi

Detzler
sumber
0

Dalam kasus saya, saya telah menetapkan nilai untuk web/cookie/cookie_domainpath di core_config_datatabel ke NULL .

Anda dapat melakukannya menggunakan Magerun , seperti itu:

magerun config:set web/cookie/cookie_domain NULL
Anna P
sumber
0

Dalam kasus saya, saya menggunakan IP bukan localhost tetapi masih belum menyelesaikan. Kunci url admin yang diubah. Itu berhasil.

Tentu saja semua jawaban di atas masih valid saat kami menghadapi dan menerapkannya selama pengembangan.

Chrome banyak menyebabkan ini. Firefox sedikit lebih baik dalam menangani ini.

Kalyan Chakravarthi V
sumber
0

Saya menggunakan Magento 2 di AWS dan dengan mengikuti saran Ryan Wilson Memperbaiki masalah dengan membuka folder htdocs tempat magento diinstal dan menggunakan perintah berikut

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
pembuat kode
sumber
0

dalam versi magento 2.2 Saya bahkan tidak dapat menemukan jalur web / cookie / cookie_domain di core_config_data. jadi dalam kasus saya masalahnya adalah dengan layanan memcached. Saya telah mengatur session.save_handler = memcached dalam php.ini menurut magento docs dan ini menghentikan admin untuk membuka dengan benar, sementara depan ok. Setelah mengubah penangan kembali ke session.save_handler = file semua berfungsi

Alex D
sumber
0

Saya memiliki masalah yang sama untuk memperbaikinya dengan masuk

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

yang bernilai diubah oleh NULL menjadi 1

Aadii Mughal
sumber
0

Secara manual menghapus var / cache / * dan var / sesi / * telah diperbaiki untuk saya setelah memindahkan situs dari satu sub domain ke yang lain dan mengubah base_urls yang diperlukan.

Dave
sumber
0

Tidak ada solusi yang diusulkan di sini yang berfungsi untuk lingkungan pengembangan saya yang berjalan dalam wadah Docker. Apa yang berhasil bagi saya adalah mengubah baris berikut dalam etc/nginx/fastcgi:

fastcgi_param HTTPS $https if_not_empty;

…untuk:

fastcgi_param HTTPS on;

Sumber: https://magenticians.com/magento-ssl-configuration-issues-resolved/#Enabling-SSL .

ACJ
sumber
(Jangan lupa untuk memulai kembali wadah setelah melakukan perubahan.)
ACJ
0

Dalam kasus saya Windows tidak menghasilkan pencegat dengan benar. Saya mengkompilasi kode pada OS windows saya dan menyalin kode ke wadah buruh pelabuhan saya. Saya menyarankan masalahnya adalah masalah jalur. Lihat di sini

Versi Magento saya adalah 2.3.3

Lukas Komarek
sumber
0

Ini berhasil untuk saya!

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
Kako Sabolo
sumber
-1

Silakan periksa apakah di nginx / apache Anda ada koneksi SSL yang dikonfigurasi. Setelah Anda mencentang koneksi SSL untuk akses admin dan Anda tidak memiliki SSL yang dikonfigurasi, itu akan mengarahkan kembali ke standar http: // koneksi dan kemudian kembali ke https: //. Itu sebabnya ada satu lingkaran.

Seharusnya ada sesuatu seperti ini di nginx:

server {
    listen 80;
    listen 443 ssl;
    server_name test.com;
    set $MAGE_ROOT /storage/test.com;
...
Michal Nowostawski
sumber
Di mana OP menyebutkan nginx? Di mana Anda mengubah konfigurasi itu dan mengapa? Apa fungsinya?
MrUpsidown
-1

Coba gunakan perbaikan .htaccess ini

############################################
SetEnvIf HTTPS On HTTPS=on
Pradino
sumber