Lỗi Magento 2 ERR_TOO_MANY_REDIRECTS


20

Tôi mới sử dụng Magento, sau khi cài đặt phiên bản cộng đồng Magento 2. Tôi không thể truy cập bảng quản trị. Tôi nhận được lỗi dưới đây.

Trang web này có một vòng lặp chuyển hướng

Lỗi ERR_TOO_MANY_REDIRECTS

Xin hãy giúp tôi giải quyết vấn đề. Cảm ơn tất cả.


Cung cấp thêm thông tin. Làm thế nào bạn cài đặt magento? Các thông số mà bạn đã nhập trong khi cài đặt
Arkadii Chyzhov

Bạn đã bật XDebug chưa?
Alex Paliarush

Sau khi gặp một số vấn đề khi thiết lập SSL, tôi cũng gặp vấn đề tương tự. Chỉ cần chạy nó đã sửa nó: sudo php bin / magento cache: flush
AdNauseum

Câu trả lời:


28

Tôi gặp vấn đề tương tự khi thao tác cơ sở dữ liệu, câu trả lời này đã giải quyết vấn đề của tôi ERR_TOO_MANY_REDIRECTS:

/magento//a/84756/50635

Để sửa lỗi này, vui lòng thử đặt Sử dụng URL bảo mật trong Quản trị viên thành đúng, trong Hệ thống -> Cấu hình -> Chung -> Web.

Hoặc với quyền truy cập cơ sở dữ liệu, thay đổi giá trị bản ghi sau thành 1 :

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

5
Trong trường hợp của tôi, giá trị của nó là 1, tôi vẫn thấy lỗi này.
kashish

1
hoạt động như bùa mê
mrtuvn

Hoạt động rất tốt
Vũ Trần Kiên

Cảm ơn bạn!! Làm việc như mong đợi!
MazeStricks

18

Trong trường hợp của tôi, tôi đã nhập cơ sở dữ liệu Magento 2 đã có sẵn. Lý do tôi nhận được lỗi là do tên miền cookie trong cơ sở dữ liệu. Đi đến cơ sở dữ liệu của bạn và tìm trong bảng core_config_data. Bạn sẽ thấy một con đường được gọi là web/cookie/cookie_domain. Đảm bảo tên miền khớp với tên miền bạn đã cài đặt Magento 2 trên. Ví dụ: Nếu bạn cài đặt Magento 2 trên local.dev/<magento-root> các mục trong web/cookie/cookie_domainnên local.dev.


4
Tôi đã có cùng một vấn đề. Tôi đã thay đổi giá trị web/cookie/cookie_domaintừ NULL thành tên miền của mình, nhưng nó vẫn không hoạt động.
kashish

1
Cảm ơn rất nhiều! Tôi đã thay đổi giá trị thành "domain.local" của mình và mọi thứ hoạt động
Nikolai Silin

cảm ơn bạn rất nhiều!! Đối với tôi đó là vấn đề! : D
Pierre-Verthume Larivière

14

Tôi đề cập đến tên miền cửa hàng magento của bạn như example.com trong bài viết này. Nếu www.example.com hoặc store.example.com của nó hoặc bất cứ điều gì, thay thế cho phù hợp.

Tôi chỉ gặp vấn đề này và đây là chi tiết cụ thể. Cài đặt Magento 2 2.2.2. Tôi đã định cấu hình url cơ sở an toàn thành http://example.com/ ban đầu và khi tôi nhận được chứng nhận ssl letencrypt của mình được cấu hình trên máy chủ của mình, tôi đã vô tình bật tùy chọn để chuyển hướng tất cả lưu lượng truy cập http sang https.

Đây không phải là một vấn đề bình thường, nhưng Magento có thể hơi nóng tính. Tôi đã truy cập vào cửa hàng của mình và SSL của tôi hoạt động chính xác, nhưng khi tôi cố gắng truy cập quản trị viên, tôi đã nhận được thông báo "ERR_TOO_MANY_REDIRECTS" và tải trang không thành công.

Tôi thấy một số cách để khắc phục vấn đề này, nhưng cách làm việc đầu tiên đối với tôi là cách này.

  1. SSH vào máy chủ.
  2. cd để magento cài đặt dir của bạn.
  3. chạy lệnh sau:
    • Cấu hình php bin / magento: hiển thị

xem đầu ra và tìm web / safe / base_url, web / safe / base_link_url & web / safe / use_in_adminhtml .

Các giá trị này phải được định cấu hình bằng https://example.com/ cho các tùy chọn url và web / safe / use_in_adminhtml = 1.

Nếu không, bạn có thể chạy các lệnh sau từ thư mục cài đặt magento để cập nhật cấu hình của mình.

  1. Cấu hình php bin / magento: nhạy cảm: đặt web / safe / base_url https://example.com/
  2. Cấu hình php bin / magento: nhạy cảm: đặt web / safe / base_link_url https://example.com
  3. Cấu hình php bin / magento: đặt web / safe / use_in_adminhtml 1
  4. Bộ nhớ cache php / magento: sạch

Sau đó, hãy truy cập trang quản trị của bạn, xóa bộ nhớ cache của trình duyệt, tải lại và bây giờ bạn sẽ có quyền truy cập lại! với sự hỗ trợ SSL.

Bước đầu tiên tôi sẽ thực hiện sau đó là đăng nhập lại vào cổng quản trị và xác minh các tùy chọn cấu hình của bạn để đảm bảo bạn sẽ không gặp phải bất kỳ sự cố không mong muốn nào khác.

Tôi hy vọng sự giúp đỡ này!

Dưới đây là một số tài nguyên Magento để giúp hướng dẫn bạn:

Đặt giá trị cấu hình

Tham chiếu đường dẫn cấu hình khác

Tài liệu tham khảo cụ thể về hệ thống và nhạy cảm


1
Cảm ơn. Ngoài ra, tôi đã có một chuyển hướng được thiết lập bởi plesk từ http đến https mà tôi phải vô hiệu hóa để có được phụ trợ magento. Lưu ý: làm sạch bộ nhớ cache là một bước quan trọng ở đây.
s.Daniel

11

Trong trường hợp của tôi, tôi đã sao chép trang web từ máy chủ của khách hàng và đang thiết lập nó trên hệ thống cục bộ của mình. Tôi chỉ cần xóa cookie / tên miền khỏi

core_config_data

bảng và sau đó xóa bộ nhớ cache, nó làm việc cho tôi!

Bạn cũng có thể làm điều đó:

Trong bảng "core_config_data", xóa giá trị của "web / cookie / cookie_domain" và đặt "web / cookie / cookie_httponly" thành "0". Xóa bộ đệm bằng cách xóa các tệp trong "var / cache".


4

Tôi gặp vấn đề tương tự sau khi chuyển trang web sang https. Khi tôi kiểm tra web / cookie / cookie_domain trong core_config_data, đó là 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)

Sau đó tôi đặt nó vào fqdn của mình:

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

Sau đó tôi khởi động lại trang web và nó hoạt động tốt:

systemctl restart apache2

3

Tôi đã gặp lỗi ERR_TOO_MANY_REDIRECTS vì tôi quên đặt phiên bản PHP thành PHP7.


2

Lỗi này xảy ra do sử dụng localhostlàm tên máy chủ của bạn, đặc biệt là trong Chrome. Chúng tôi khuyên bạn nên sử dụng tên miền của riêng bạn. Kiểm tra blog của Alan để biết chi tiết

Đó không phải là Magento, đó là các trình duyệt web hoạt động khác nhau khi được sử dụng với một tên miền có ít hơn 2 dấu chấm, chẳng hạn như localhost.


OP đã đề cập đến việc anh ấy đã cài đặt nó bằng "localhost" ở đâu?
MrUpsidown

2

Bạn có thể thử cài đặt lại Magento với IP cục bộ thay vì localhost.

Đây sẽ là http://127.0.0.1/foldername. Sau khi cài đặt theo cách này, bạn sẽ có thể truy cập nó từ bất kỳ trình duyệt nào.

Bạn cũng có thể thay đổi bản ghi trong cơ sở dữ liệu trong core_config_data trong đó giá trị sẽ như sau:

http://localhost/foldername/

thay thế nó để

http://127.0.0.1/foldername/

Theo cả hai cách, tên người dùngthư mục của bạn nơi Magento cư trú.


2

Ngoài ra - chỉ để thêm những gì tôi đã trải nghiệm, nếu bạn đang phục vụ từ apache nhưng sử dụng nginx để chấm dứt ssl (và có thể là vecni cache) thì hãy chắc chắn rằng apache của bạn có

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

nếu không nó đi xung quanh và xung quanh với nginx redirect điên cuồng



0

Không sử dụng ô trong url cơ sở, ví dụ:

www.yourhost/österreich

Tôi đã phải đổi tên nó thành


0

Trong trường hợp của tôi, tôi đã đặt giá trị cho web/cookie/cookie_domainđường dẫn trong core_config_databảng thành NULL .

Bạn có thể làm điều đó bằng Magerun , như thế:

magerun config:set web/cookie/cookie_domain NULL

0

Trong trường hợp của tôi, tôi đã sử dụng IP thay vì localhost nhưng vẫn không giải quyết được. Thay đổi mã url quản trị viên. Nó đã làm việc.

Tất nhiên tất cả các câu trả lời trên vẫn có giá trị như chúng tôi đã đối mặt và áp dụng những câu trả lời trong quá trình phát triển.

Chrome gây ra điều này rất nhiều. Firefox tốt hơn một chút trong việc xử lý việc này.


0

Tôi đang sử dụng Magento 2 trên AWS và bằng cách làm theo đề xuất của Ryan Wilson Đã khắc phục sự cố bằng cách vào thư mục htdocs nơi magento được cài đặt và sử dụng lệnh sau

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

trong phiên bản magento 2.2 Tôi thậm chí không tìm thấy đường dẫn web / cookie / cookie_domain trong core_config_data. Vì vậy, trong trường hợp của tôi, vấn đề là với dịch vụ memcached. Tôi đã thiết lập session.save_handler = memcached trong php.ini theo tài liệu magento và điều này đã ngăn quản trị viên mở chính xác, trong khi đó phía trước vẫn ổn. Sau khi thay đổi trình xử lý trở lại session.save_handler = tất cả các tệp đã hoạt động


0

tôi đã có một vấn đề tương tự làm cho nó được sửa chữa bằng cách đi vào

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

giá trị được thay đổi bởi NULL thành 1


0

Xóa thủ công var / cache / * và var / session / * đã sửa cho tôi sau khi di chuyển trang web từ tên miền phụ này sang tên miền phụ khác và thay đổi base_urls cần thiết.


0

Không có giải pháp đề xuất nào ở đây hoạt động cho môi trường phát triển của tôi đang chạy trong bộ chứa Docker. Điều làm việc cho tôi là thay đổi dòng sau trong etc/nginx/fastcgi:

fastcgi_param HTTPS $https if_not_empty;

…đến:

fastcgi_param HTTPS on;

Nguồn: https://magentologists.com/magento-ssl-configuration-issues-resolve/#Eneac-SSL .


(Đừng quên khởi động lại container sau khi thực hiện các thay đổi đã nói.)
ACJ

0

Trong trường hợp của tôi, Windows đã không sản xuất các thiết bị chặn đúng cách. Tôi đã biên dịch mã trên hệ điều hành windows của mình và sao chép mã vào thùng chứa docker của tôi. Tôi đề nghị vấn đề là một vấn đề đường dẫn. Xem tại đây

Phiên bản Magento của tôi là 2.3.3


0

Điều này làm việc cho tôi!

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

Vui lòng kiểm tra xem trong nginx / apache của bạn có kết nối SSL được cấu hình không. Khi bạn đánh dấu kết nối SSL để truy cập quản trị viên và bạn không có cấu hình SSL, nó sẽ chuyển hướng đến kết nối http: // tiêu chuẩn và sau đó quay lại https: //. Đó là lý do tại sao có một vòng lặp.

Nên có một cái gì đó như thế này trong nginx:

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

OP đã đề cập đến nginx ở đâu? Bạn đã thay đổi cấu hình đó ở đâu và tại sao? Nó làm gì?
MrUpsidown

-1

Hãy thử sử dụng .htaccess này

############################################
SetEnvIf HTTPS On HTTPS=on
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.