TrueURL

Darmowe narzędzie do przekierowań

Wykrywanie pętli przekierowań

Gdy przeglądarka zgłasza „zbyt wiele przekierowań”, witryna odsyła ją w kółko. TrueURL podąża za przekierowaniami, aż pętla się zamknie, i pokazuje każdy adres URL, który ją tworzy.

Czym jest pętla przekierowań?

Pętla przekierowań powstaje, gdy adres URL A przekierowuje na adres B, a B – bezpośrednio lub przez kolejne przeskoki – z powrotem na A. Przeglądarki podążają za około 20 przekierowaniami, a potem rezygnują i wyświetlają błąd: ERR_TOO_MANY_REDIRECTS w Chrome i Edge (w polskiej wersji Chrome z komunikatem „… przekierowała Cię zbyt wiele razy”), Nieprawidłowe przekierowanie w Firefoksie lub komunikat o zbyt wielu przekierowaniach (Too many redirects occurred) w Safari. Wyszukiwarki nie mogą zindeksować strony, która utknęła w pętli.

Jak TrueURL wykrywa pętle

TrueURL zapisuje każdy adres URL, do którego wysyła żądanie, razem z metodą żądania i plikami cookie, które ma w danym momencie. Gdy przeskok prowadzi z powrotem do adresu URL, do którego już wysłano żądanie w tym samym stanie, łańcuch nigdy się nie skończy, a w wyniku wyróżniony zostaje przeskok, na którym pętla się zamyka.

Ponieważ TrueURL przechowuje pliki cookie jak przeglądarka, potrafi odróżnić prawdziwą pętlę od zwykłej wymiany plików cookie, w której witryna ustawia plik cookie i jeden raz odsyła Cię z powrotem pod ten sam adres URL. Jeśli stan zmienia się przy każdym przejściu, łańcuch trwa aż do osiągnięcia maksymalnej liczby przeskoków ustawionej w ustawieniach zaawansowanych (najwyżej 50). Łańcuch, który dochodzi do tego limitu, zwykle również jest niekończącą się pętlą, np. taką, która przy każdym przeskoku dodaje nowy parametr zapytania.

Typowe przyczyny pętli przekierowań

  • HTTP i HTTPS za proxy lub CDN: CDN łączy się z Twoim serwerem przez HTTP (jak w trybie SSL Flexible w Cloudflare), a serwer przekierowuje każde żądanie HTTP na HTTPS. Przeglądarka znów prosi o HTTPS, CDN znów pobiera stronę przez HTTP – i tak w kółko. Użyj trybu Full (strict) albo pozwól obsługiwać przekierowanie na HTTPS tylko jednej warstwie.
  • Sprzeczne reguły www: jedna reguła dodaje www, a inna, często w CMS-ie lub panelu hostingu, je usuwa.
  • Sprzeczne reguły ukośnika na końcu adresu: serwer dodaje ukośnik, a aplikacja go usuwa.
  • Ustawienia adresu w CMS-ie: np. w WordPressie Adres WordPressa (URL) lub Adres witryny (URL), który nie pasuje do domeny lub protokołu, pod którymi witryna jest faktycznie serwowana.
  • Przekierowania logowania, zgody i regionu: strona kieruje użytkowników bez określonego pliku cookie na stronę logowania, zgody lub wyboru kraju, a ta odsyła ich z powrotem, ale plik cookie nigdy nie zostaje ustawiony lub zaakceptowany.

Jak naprawić pętlę przekierowań

  1. Sprawdź tutaj adres URL i zanotuj, które adresy się powtarzają i który przeskok odsyła Cię z powrotem.
  2. Przejrzyj nagłówki odpowiedzi tego przeskoku, np. Server, Via, CF-Ray lub X-Powered-By, aby ustalić, która warstwa wysłała przekierowanie: CDN, serwer WWW czy aplikacja.
  3. Popraw lub wyłącz tę jedną regułę i sprawdź ponownie. Zmieniaj jedną warstwę naraz.
  4. Zanim przetestujesz stronę w przeglądarce, wyczyść jej pamięć podręczną i pliki cookie dla tej witryny. Zapamiętane przekierowania 301 i nieaktualne pliki cookie mogą podtrzymywać pętlę nawet po jej naprawieniu.

Poradniki

Najczęściej zadawane pytania

Co oznacza ERR_TOO_MANY_REDIRECTS?

To błąd Chrome oznaczający łańcuch przekierowań, który nie skończył się po 20 przekierowaniach. Prawie zawsze chodzi o pętlę: reguły przekierowań witryny są ze sobą sprzeczne. Sprawdź adres URL powyżej, aby zobaczyć, które adresy się powtarzają.

Czy pętla przekierowań może dotyczyć tylko części użytkowników?

Tak. Pętle zależne od plików cookie, języka, lokalizacji lub urządzenia dotykają tylko użytkowników w danej sytuacji. Odtwórz je w ustawieniach zaawansowanych: dodaj plik cookie, nagłówek Accept-Language lub mobilny User-Agent i sprawdź ponownie. Pętli zależnych od lokalizacji użytkownika nie da się odtworzyć, bo żądanie zawsze pochodzi z sieci Cloudflare.

Dlaczego wyczyszczenie plików cookie usuwa pętlę w mojej przeglądarce?

To znaczy, że pętla zależała od plików cookie: nieaktualny lub sprzeczny plik cookie sprawiał, że witryna odsyłała Cię w kółko. Wyczyszczenie plików cookie resetuje Twój stan, ale błąd nadal występuje u każdego użytkownika, który dostanie ten sam plik cookie. Aby odtworzyć go tutaj, użyj pola „Pliki cookie” w ustawieniach zaawansowanych.

Dlaczego TrueURL znajduje pętlę, skoro strona działa w mojej przeglądarce?

Twoja przeglądarka może mieć aktywną sesję logowania, pliki cookie zgody, wpis HSTS albo zapamiętane przekierowanie, które pomija jeden z przeskoków. TrueURL zaczyna bez plików cookie i bez historii, jak nowy użytkownik lub robot. Jeśli znajduje pętlę, nowi użytkownicy i roboty prawdopodobnie też na nią trafiają – chyba że witryna inaczej traktuje żądania z centrów danych.

Czym różni się pętla od osiągnięcia maksymalnej liczby przeskoków?

Pętla oznacza, że TrueURL wrócił do adresu URL, do którego już wysłał żądanie w tym samym stanie, więc łańcuch nigdy się nie skończy. Osiągnięcie maksymalnej liczby przeskoków oznacza, że sprawdzanie zatrzymało się po ustawionej liczbie przekierowań bez dokładnego powtórzenia. Taki łańcuch może w końcu się skończyć, ale łańcuch tej długości tak czy inaczej jest problemem. Możesz zwiększyć maksymalną liczbę przeskoków do 50, aby zobaczyć, co dzieje się dalej.

Czy CDN może powodować pętlę przekierowań?

Tak, to jedna z najczęstszych przyczyn. Jeśli CDN komunikuje się z Twoim serwerem przez HTTP, a serwer wymusza HTTPS, albo jeśli CDN i serwer przekierowują między wersją z www i bez www w przeciwnych kierunkach, odbijają każde żądanie tam i z powrotem. Nagłówki odpowiedzi każdego przeskoku pokazują, która warstwa odpowiedziała.