HeatLogic
HeatLogic Blog
WordPress27.08.20264 min czytaniaAutor: HeatLogic

ERR_TOO_MANY_REDIRECTS w WordPress – jak przerwać pętlę przekierowań?

WordPress wpada w ERR_TOO_MANY_REDIRECTS? Zobacz, jak sprawdzić HTTP/HTTPS, www, reverse proxy, adresy home/siteurl, cache i wtyczki przekierowań.

HeatLogic

Przeglądarka pokazuje ERR_TOO_MANY_REDIRECTS, gdy kolejne odpowiedzi 301/302 prowadzą ją w kółko. W WordPressie klasyczny przypadek wygląda tak: jedna warstwa wymusza HTTPS, druga „widzi” połączenie jako HTTP i odsyła z powrotem. Podobny konflikt może dotyczyć www/bez www, końcowego slasha, panelu logowania albo reguł wtyczki SEO.

Szybka odpowiedź

Nie zaczynaj od kasowania wszystkich przekierowań. Najpierw zobacz łańcuch odpowiedzi: z jakiego URL-u wychodzisz, dokąd prowadzi pierwszy Location, co zwraca kolejny adres. Kilka poleceń curl -I lub narzędzie do śledzenia redirectów zwykle pokazuje, które dwa adresy ping-pongują między sobą.

HTTP i HTTPS za reverse proxy

Gdy TLS kończy się na load balancerze lub CDN, backend może otrzymywać ruch jako HTTP. Jeśli WordPress nie dostaje poprawnej informacji o pierwotnym protokole, sam wymusza HTTPS, a proxy znów przekazuje żądanie w sposób, który uruchamia tę samą regułę. Rozwiązaniem jest prawidłowa konfiguracja nagłówków i zaufania do proxy, nie wyłączenie HTTPS.

www kontra bez www

Jeśli CDN wymusza www, Nginx bez www, a WordPress ma siteurl w jeszcze innym wariancie, powstaje pętla. Wybierz jeden adres kanoniczny i doprowadź do tego, aby wszystkie warstwy zgodnie kierowały właśnie do niego. To pomaga także SEO, bo nie mnożysz wariantów tego samego URL-u.

home i siteurl w WordPressie

Dwie wartości WordPressa określają adres aplikacji i witryny. Po migracji lub zmianie domeny potrafią pozostać stare dane. Jeśli panel jest niedostępny, można je zweryfikować w bazie albo czasowo zdefiniować w wp-config.php, ale rób to świadomie i pamiętaj o późniejszym uporządkowaniu źródła prawdy.

Wtyczki redirect/SSL/cache

Kilka wtyczek może niezależnie wymuszać ten sam protokół lub adres. Do tego dochodzą reguły serwera i CDN. Dublowanie funkcji zwiększa ryzyko konfliktu. Po ustaleniu docelowej polityki zostaw wymuszanie adresu możliwie nisko w stosie, a w WordPressie unikaj niepotrzebnych dodatkowych przekierowań.

Pętla tylko po logowaniu

Jeżeli publiczna strona działa, ale wp-admin krąży między logowaniem a panelem, sprawdź cookies, domenę sesji i cache dla stron administracyjnych. Panelu oraz ekranów logowania nie powinno się cachować jak zwykłych stron publicznych.

Jak potwierdzić, że naprawa naprawdę działa?

Po naprawie sprawdź łańcuch przekierowań dla czterech wariantów: http://, https://, www i bez www. Każdy niekanoniczny wariant powinien kończyć się po możliwie małej liczbie kroków na jednym docelowym adresie. Osobno przetestuj /wp-login.php, ponieważ sesja i cookies potrafią ujawnić pętlę niewidoczną na publicznej stronie. Narzędzia typu curl -IL pokazują sekwencję bez wpływu cache przeglądarki.

Co obserwować po zmianie?

Po wdrożeniu przejrzyj logi 301/302 i sprawdź, czy nie powstały długie łańcuchy. W SEO oraz wydajności lepiej kierować bezpośrednio do adresu docelowego. Jeżeli korzystasz z CDN, wyczyść tylko potrzebny cache i sprawdź odpowiedź originu osobno, aby stara reguła na edge nie maskowała poprawionej konfiguracji serwera.

Kiedy przekazać temat dalej?

Eskalacja jest potrzebna, gdy domena przechodzi przez kilka warstw proxy, a nie masz pewności, gdzie kończy się TLS i kto ustawia nagłówek X-Forwarded-Proto. Pętle logowania lub pętle tylko dla części użytkowników często wymagają analizy cookies i cache, nie kolejnego redirectu w WordPressie.

Praktyczny scenariusz diagnostyczny

Klasyczny scenariusz to migracja za reverse proxy: użytkownik otwiera HTTPS, proxy przekazuje ruch do backendu, a WordPress „widzi” HTTP i próbuje ponownie przekierować na HTTPS. Proxy znów trafia do backendu i pętla się zamyka. W takiej sytuacji kasowanie cookies może chwilowo zmienić zachowanie przeglądarki, ale nie naprawi architektury. Sprawdź kolejne nagłówki Location, wartości home i siteurl, konfigurację proxy oraz sposób przekazywania informacji o protokole. Po naprawie wykonaj curl -I dla HTTP i HTTPS, wariantu z www i bez www, a także dla logowania. Dobra konfiguracja ma jeden przewidywalny łańcuch przekierowań, nie kilka warstw, które próbują „naprawiać HTTPS” niezależnie od siebie.

Bezpieczna kolejność działań

  1. Zapisz pełny adres, na którym przeglądarka zgłasza pętlę.
  2. Prześledź kolejne nagłówki Location.
  3. Ustal jeden wariant: HTTPS + www albo HTTPS bez www.
  4. Porównaj ustawienia CDN/proxy, serwera i home/siteurl.
  5. Wyłącz dublujące się reguły przekierowań tylko po kopii konfiguracji.
  6. Wyczyść właściwe warstwy cache i przetestuj ponownie.

Czego nie robić

Nie wyłączaj HTTPS tylko po to, aby pętla zniknęła. Nie dodawaj kolejnego redirectu do .htaccess, jeśli nie wiesz, jakie reguły już działają w CDN i serwerze. Każda dodatkowa warstwa może stworzyć kolejny konflikt.

Powiązane poradniki HeatLogic

Potrzebujesz pomocy?

Jeżeli przekierowania przechodzą przez CDN, Nginx i WordPress, możemy rozrysować cały łańcuch i ustawić jeden kanoniczny schemat adresów bez wyłączania SSL ani SEO-friendly redirectów.

Najczęściej zadawane pytania

Czy wyczyszczenie cookies może pomóc?

Tak, gdy pętla dotyczy sesji lub logowania, ale jeśli serwer zwraca cykliczne 301/302, trzeba poprawić konfigurację po stronie serwera.

Czy Cloudflare może powodować pętlę?

Tak, jeśli tryb SSL lub reguły przekierowań są niespójne z konfiguracją serwera origin.

Czy wtyczka SEO może być przyczyną?

Może, jeśli zarządza przekierowaniami i dubluje reguły z serwera lub innego dodatku.

Czy pętla przekierowań szkodzi SEO?

Tak, robot nie dociera do treści, a błędne warianty adresów utrudniają kanonikalizację i indeksację.

Powiązane artykuły