ข้อผิดพลาดของ Magento 2 ERR_TOO_MANY_REDIRECTS


20

ฉันใหม่สำหรับ Magento หลังจากการติดตั้ง Magento 2 community edition ฉันไม่สามารถเข้าถึงแผงการดูแลระบบได้ ฉันพบข้อผิดพลาดด้านล่าง

หน้าเว็บนี้มีการวนรอบการเปลี่ยนเส้นทาง

ข้อผิดพลาด ERR_TOO_MANY_REDIRECTS

โปรดช่วยฉันแก้ไขปัญหา ขอขอบคุณล่วงหน้าสำหรับทุกคน


ให้ข้อมูลเพิ่มเติม คุณติดตั้ง magento ได้อย่างไร? อะไรคือพารามิเตอร์ที่คุณป้อนระหว่างการติดตั้ง
Arkadii Chyzhov

คุณเปิดใช้งาน XDebug อยู่หรือไม่?
Alex Paliarush

หลังจากมีปัญหาในการตั้งค่า SSL ฉันได้รับปัญหาเดียวกัน เพียงแค่เรียกใช้แก้ไขมัน: sudo php bin / magento cache: flush
AdNauseum

คำตอบ:


28

ฉันมีปัญหาเดียวกันกับการจัดการฐานข้อมูลคำตอบนี้แก้ปัญหาของฉันได้ ERR_TOO_MANY_REDIRECTS:

/magento//a/84756/50635

หากต้องการแก้ไขปัญหานี้โปรดลองตั้งค่าใช้ URL ที่ปลอดภัยในผู้ดูแลระบบให้เป็นจริงในระบบ -> กำหนดค่า -> ทั่วไป -> เว็บ

หรือด้วยการเข้าถึงฐานข้อมูลให้เปลี่ยนค่าบันทึกต่อไปนี้เป็น1 :

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

5
ในกรณีของฉันมันมีค่าอยู่แล้ว 1 แต่ฉันก็ยังเห็นข้อผิดพลาดนี้อยู่
kashish

1
ใช้งานได้อย่างมีเสน่ห์
mrtuvn

ใช้งานได้ดีมาก
Vu Tran Kien

ขอขอบคุณ!! ทำงานตามที่คาดไว้!
MazeStricks

18

ในกรณีของฉันฉันกำลังนำเข้าฐานข้อมูล Magento 2 ที่มีอยู่แล้ว เหตุผลที่ฉันได้รับข้อผิดพลาดเป็นเพราะโดเมนคุกกี้ในฐานข้อมูล core_config_dataไปยังฐานข้อมูลของคุณและดูในตาราง web/cookie/cookie_domainคุณควรจะเห็นเส้นทางที่เรียกว่า ตรวจสอบให้แน่ใจว่าโดเมนนั้นตรงกับโดเมนที่คุณติดตั้ง Magento 2 ไว้ Ex: หากคุณติดตั้งวีโอไอพี 2 local.dev/<magento-root> รายการในที่ควรจะเป็นweb/cookie/cookie_domainlocal.dev


4
ฉันมีปัญหาเดียวกัน ฉันเปลี่ยนค่าweb/cookie/cookie_domainจาก NULL เป็นชื่อโดเมนของฉัน แต่ก็ยังไม่ทำงาน
kashish

1
ขอบคุณมาก! ฉันเปลี่ยนค่าเป็น "domain.local" ของฉันและทุกอย่างทำงานได้
Nikolai Silin

ขอบคุณมาก!! สำหรับฉันนั่นเป็นปัญหา! : D
Pierre-Verthume Larivière

14

ฉันหมายถึงโดเมนร้านค้าคุณภาพเยี่ยมของคุณเป็น example.com ในโพสต์นี้ หาก www.example.com หรือ store.example.com หรืออะไรก็ตามให้เปลี่ยนตามนั้น

ฉันเพิ่งพบปัญหานี้และนี่คือข้อมูลเฉพาะ Magento 2 2.2.2 ติดตั้ง ฉันกำหนดค่า url พื้นฐานที่ปลอดภัยเป็นhttp://example.com/ตอนแรกและเมื่อฉันได้รับการกำหนดค่า Certencrypt SSL SSL บนเซิร์ฟเวอร์ของฉันฉันเปิดใช้งานตัวเลือกเพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ทั้งหมดไปยัง https

เรื่องนี้จะไม่เป็นปัญหาตามปกติ แต่ Magento สามารถเจ้าอารมณ์ได้เล็กน้อย ฉันเยี่ยมชมหน้าร้านของฉันและ SSL ทำงานอย่างถูกต้อง แต่เมื่อฉันพยายามเข้าถึงผู้ดูแลระบบฉันได้รับการแจ้งเตือน "ERR_TOO_MANY_REDIRECTS" และการโหลดหน้าเว็บล้มเหลว

ฉันเห็นหลายวิธีในการแก้ไขปัญหานี้ แต่วิธีแรกที่ได้ผลสำหรับฉันก็คือ

  1. SSH เข้าสู่เซิร์ฟเวอร์
  2. cd to magento ของคุณติดตั้ง dir
  3. เรียกใช้คำสั่งต่อไปนี้:
    • php bin / magento config: แสดง

ดูออกและมองหาเว็บ / / BASE_URL การรักษาความปลอดภัยเว็บ / การรักษาความปลอดภัย / base_link_url และเว็บ

ควรกำหนดค่าเหล่านี้ด้วยhttps://example.com/สำหรับตัวเลือก URL และเว็บ / secure / use_in_adminhtml = 1

หากไม่ใช่คุณสามารถเรียกใช้คำสั่งต่อไปนี้จากไดเร็กทอรีการติดตั้ง magento ของคุณเพื่ออัพเดตการกำหนดค่าของคุณ

  1. การตั้งค่า php bin / magento: ละเอียดอ่อน: ตั้งค่าเว็บ / secure / base_url https://example.com/
  2. การตั้งค่า php bin / magento: ละเอียดอ่อน: ตั้งค่าเว็บ / secure / base_link_url https://example.com
  3. php bin / magento config: ตั้งค่าเว็บ / secure / use_in_adminhtml 1
  4. php bin / magento cache: สะอาด

หลังจากนั้นไปที่หน้าผู้ดูแลระบบของคุณล้างแคชเบราว์เซอร์ของคุณโหลดและตอนนี้คุณควรมีสิทธิ์การเข้าถึงของคุณ! ด้วยการสนับสนุน SSL

ขั้นตอนแรกที่ฉันจะทำหลังจากนั้นคือการกลับเข้าสู่พอร์ทัลผู้ดูแลระบบและตรวจสอบตัวเลือกการกำหนดค่าของคุณเพื่อให้แน่ใจว่าคุณจะพบปัญหาที่ไม่คาดคิดอื่น ๆ

ฉันหวังว่าความช่วยเหลือนี้!

นี่คือแหล่งข้อมูลวีโอไอพีที่จะช่วยแนะนำคุณ:

ตั้งค่าการกำหนดค่า

การอ้างอิงพา ธ การกำหนดค่าอื่น ๆ

การอ้างอิงเฉพาะที่ละเอียดอ่อนและระบบ


1
ขอบคุณ นอกจากนี้ฉันมีการตั้งค่าการเปลี่ยนเส้นทางโดย plesk จาก http เป็น https ที่ฉันต้องปิดการใช้งานเพื่อให้ได้รับการสำรองข้อมูลคุณภาพเยี่ยม หมายเหตุ: การทำความสะอาดแคชเป็นขั้นตอนสำคัญที่นี่
s.Daniel

11

ในกรณีของฉันฉันคัดลอกเว็บไซต์จากเซิร์ฟเวอร์ของลูกค้าและตั้งค่าไว้ในระบบท้องถิ่นของฉัน ฉันเพิ่งลบคุกกี้ / โดเมนออกจาก

core_config_data

ตารางแล้วล้างแคชมันใช้งานได้สำหรับฉัน!

คุณยังสามารถทำได้:

ในตาราง "core_config_data" ลบค่าของ "web / cookie / cookie_domain" และตั้งค่า "web / cookie / cookie_httponly" เป็น "0" ล้างแคชโดยการลบไฟล์ใน "var / cache"


4

ฉันมีปัญหาเดียวกันหลังจากเปลี่ยนไซต์เป็น https เมื่อฉันตรวจสอบเว็บ / cookie / cookie_domain ใน core_config_data เป็น 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)

จากนั้นฉันตั้งค่าเป็น fqdn ของฉัน:

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

หลังจากนั้นฉันรีสตาร์ทเว็บไซต์และทำงานได้ดี:

systemctl restart apache2


2

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากใช้localhostเป็นชื่อโฮสต์ของคุณโดยเฉพาะใน Chrome เราขอแนะนำให้ใช้โดเมนของคุณเอง ตรวจสอบบล็อกของอลันเพื่อดูรายละเอียด

ไม่ใช่ Magento เป็นเว็บเบราว์เซอร์ที่ทำงานแตกต่างกันเมื่อใช้กับชื่อโดเมนที่มีจุดน้อยกว่า 2 จุดเช่น localhost


OP พูดถึงเขาติดตั้งโดยใช้ "localhost" ที่ไหน
MrUpsidown

2

คุณสามารถลองติดตั้ง Magento ใหม่ด้วยIP ท้องถิ่นของคุณไม่ใช่ localhost

http://127.0.0.1/foldernameนี้จะเป็น หลังจากติดตั้งด้วยวิธีนี้คุณจะสามารถเข้าถึงได้จากเบราว์เซอร์ใด ๆ

คุณยังสามารถเปลี่ยนบันทึกในฐานข้อมูลในcore_config_dataซึ่งค่าจะมีลักษณะดังนี้:

http://localhost/foldername/

แทนที่มันเป็น

http://127.0.0.1/foldername/

ในทั้งสองวิธีfoldernameเป็นไดเรกทอรีของคุณที่มีวีโอไอพีอยู่


2

นอกจากนี้ - เพียงแค่เพิ่มสิ่งที่ฉันพบถ้าคุณให้บริการจาก apache แต่ใช้ nginx เพื่อยุติ ssl (และอาจเป็นไปได้ว่าแคชเคลือบเงา) จากนั้นตรวจสอบให้แน่ใจว่า Apache ของคุณมี

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

มิฉะนั้นมันจะไปไหนมาไหนด้วย nginx redirect frenzy



0

อย่าใช้ umlauts ใน base-url เช่น:

www.yourhost/österreich

ฉันต้องเปลี่ยนชื่อเป็น


0

ในกรณีของฉันฉันได้ตั้งค่าสำหรับweb/cookie/cookie_domainเส้นทางในcore_config_dataตารางเป็นเป็นโมฆะ

คุณสามารถทำได้โดยใช้Magerunเช่นนั้น:

magerun config:set web/cookie/cookie_domain NULL

0

ในกรณีของฉันฉันใช้ IP แทน localhost แต่ก็ยังไม่ได้รับการแก้ไข เปลี่ยนรหัส URL ของผู้ดูแลระบบแล้ว มันได้ผล

แน่นอนคำตอบทั้งหมดข้างต้นยังคงใช้ได้เมื่อเราเผชิญและนำไปใช้ในระหว่างการพัฒนา

Chrome ทำให้เกิดสิ่งนี้มากมาย Firefox ดีกว่าเล็กน้อยในการจัดการสิ่งนี้


0

ฉันใช้ Magento 2 บน AWS และทำตามคำแนะนำของ Ryan Wilson แก้ไขปัญหาโดยไปที่โฟลเดอร์ htdocs ที่ติดตั้ง magento และใช้คำสั่งต่อไปนี้

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

0

ใน version magento 2.2 ฉันยังไม่พบแม้แต่เส้นทางของเว็บ / คุกกี้ / cookie_domain ใน core_config_data ดังนั้นในกรณีของฉันปัญหาเกิดขึ้นกับบริการ memcached ฉันได้ตั้งค่า session.save_handler = memcached ใน php.ini ตามเอกสารคุณภาพเยี่ยมและสิ่งนี้ทำให้ผู้ดูแลระบบไม่สามารถเปิดได้อย่างถูกต้องในขณะเดียวกันด้านหน้าก็โอเค หลังจากเปลี่ยนตัวจัดการกลับเป็น session.save_handler = ไฟล์ทั้งหมดทำงานได้


0

ฉันมีปัญหาเดียวกันแก้ไขโดยเข้าไปข้างใน

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

ค่าเปลี่ยนเป็น NULL เป็น 1


0

ลบ var / cache / * และ var / session / * ด้วยตนเองได้รับการแก้ไขสำหรับฉันหลังจากย้ายไซต์จากโดเมนย่อยหนึ่งไปยังอีกโดเมนหนึ่งและเปลี่ยน base_urls ที่จำเป็น


0

ไม่มีวิธีแก้ไขปัญหาที่เสนอที่นี่ทำงานได้สำหรับสภาพแวดล้อมการพัฒนาของฉันที่ทำงานในคอนเทนเนอร์นักเทียบท่า สิ่งที่ใช้ได้ผลสำหรับฉันคือการเปลี่ยนบรรทัดต่อไปนี้ในetc/nginx/fastcgi:

fastcgi_param HTTPS $https if_not_empty;

…ถึง:

fastcgi_param HTTPS on;

ที่มา: https://magenticians.com/magento-ssl-configuration-issues-resolved/#Enabling-SSL


(อย่าลืมรีสตาร์ทคอนเทนเนอร์หลังจากทำการเปลี่ยนแปลงดังกล่าว)
ACJ

0

ในกรณีของฉัน Windows ไม่ได้ผลิตตัวรับอย่างถูกต้อง ฉันรวบรวมรหัสบน windows OS ของฉันและคัดลอกรหัสลงในคอนเทนเนอร์ docker ของฉัน ฉันแนะนำว่าปัญหาคือปัญหาเกี่ยวกับเส้นทาง ดูที่นี่

เวอร์ชั่น Magento ของฉันคือ 2.3.3


0

สิ่งนี้ได้ผลสำหรับฉัน!

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

-1

โปรดตรวจสอบว่าใน nginx / apache ของคุณมีการเชื่อมต่อ SSL ที่กำหนดค่าไว้หรือไม่ เมื่อคุณเลือกการเชื่อมต่อ SSL สำหรับการเข้าถึงของผู้ดูแลระบบและคุณไม่ได้กำหนดค่า SSL ไว้ระบบจะเปลี่ยนเส้นทางไปที่ http: // การเชื่อมต่อมาตรฐานจากนั้นกลับสู่ https: // นั่นเป็นเหตุผลว่าทำไมจึงมีการวนซ้ำ

ควรมีสิ่งนี้ใน nginx:

server {
    listen 80;
    listen 443 ssl;
    server_name test.com;
    set $MAGE_ROOT /storage/test.com;
...

OP พูดถึง nginx ที่ไหน คุณเปลี่ยนการกำหนดค่านั้นไปที่ใดและเพราะเหตุใด มันทำอะไร?
MrUpsidown

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.