Jak naprawić błąd “Zbyt wiele przekierowań”: Kompletny przewodnik rozwiązywania problemów
Błąd "Too Many Redirects" — znany również jako pętla przekierowań — jest jednym z najbardziej frustrujących problemów, jakie może napotkać właściciel lub administrator witryny. Przeglądarka próbuje śledzić łańcuch przekierowań HTTP, wpadając w nieskończoną pętlę, a ostatecznie się poddaje, pozostawiając odwiedzających przed stroną błędu zamiast Twojej zawartości.
W tym kompleksowym przewodniku dowiesz się dokładnie, co powoduje pętle przekierowań, jak je systematycznie diagnozować i jak zastosować właściwą naprawę — niezależnie od tego, czy prowadzisz witrynę WordPress, aplikację niestandardową na planie VPS Hosting, czy prostą witrynę na Shared Web Hosting.
Co to jest błąd "Too Many Redirects"?
Gdy przeglądarka żąda adresu URL, serwer może odpowiedzieć przekierowaniem HTTP (kody stanu 301, 302, 307 lub 308), instruując przeglądarkę, aby załadowała inny adres URL. To normalne i oczekiwane zachowanie — na przykład przekierowanie ruchu http:// do https://, lub przekierowanie domain.com do www.domain.com.
Pętla przekierowań występuje, gdy adres URL A przekierowuje do adresu URL B, który przekierowuje z powrotem do adresu URL A (lub przez dłuższy łańcuch, który ostatecznie się zamyka). Po osiągnięciu progu zdefiniowanego przez przeglądarkę (zwykle 10–20 przekierowań), przeglądarka przerywa żądanie i wyświetla:
> ERR_TOO_MANY_REDIRECTS (Chrome)
> The page isn’t redirecting properly (Firefox)
> This webpage has a redirect loop (Safari/Edge)
Błąd jest taki sam niezależnie od przeglądarki — różni się tylko sformułowanie.
Co powoduje błąd "Too Many Redirects"?
Zrozumienie głównej przyczyny jest niezbędne przed podjęciem próby naprawy. Najczęstsze przyczyny to:
1. Błędnie skonfigurowane reguły przekierowań
Klasyczny przykład: domain.com przekierowuje do www.domain.com, podczas gdy jednocześnie www.domain.com przekierowuje z powrotem do domain.com. Każde przekierowanie wyzwala drugie, tworząc nieskończoną pętlę.
2. Nieprawidłowa konfiguracja przekierowania HTTP na HTTPS
Jeśli serwer wymusza HTTPS, ale konfiguracja Certyfikatów SSL nie jest prawidłowo zastosowana, serwer może przekierować żądanie HTTPS z powrotem do HTTP, tworząc nieskończoną pętlę między dwoma protokołami.
3. Konflikty pamięci podręcznej przeglądarki i plików cookie
Nieaktualne pliki cookie lub stare dane przekierowań w pamięci podręcznej przeglądarki mogą spowodować, że będzie ona śledzić starą, nieprawidłową ścieżkę przekierowania — nawet po rozwiązaniu problemu po stronie serwera.
4. Błędna konfiguracja CMS (WordPress i inne)
W WordPress pola WordPress Address (URL) i Site Address (URL) w bazie danych muszą być zgodne z rzeczywistą konfiguracją domeny. Niezgodność — na przykład jedno pole używające http:// podczas gdy serwer wymusza https:// — jest bardzo częstą przyczyną pętli przekierowań.
5. Konflikty wtyczek
Wtyczki buforowania, wtyczki bezpieczeństwa i wtyczki SEO mogą każda implementować własną logikę przekierowań. Gdy dwie lub więcej wtyczek próbuje jednocześnie zarządzać przekierowaniami, mogą się konfliktować i tworzyć pętle.
6. Konflikty przekierowań na poziomie serwera
Przekierowania skonfigurowane w panelu kontroli hostingu mogą kolidować z przekierowaniami zdefiniowanymi w .htaccess, nginx.conf lub ustawieniach CMS, powodując sprzeczne instrukcje, które tworzą nieskończone pętle.
Jak naprawić błąd "Too Many Redirects": Krok po kroku
Pracuj przez te metody po kolei. Zacznij od najprostszych napraw przed przejściem do zmian na poziomie serwera.
Metoda 1: Wyczyść pamięć podręczną i pliki cookie przeglądarki
Zanim dotkniesz jakiejkolwiek konfiguracji serwera, wyeliminuj problem po stronie przeglądarki. Nieaktualne pliki cookie i buforowane odpowiedzi przekierowań są zaskakująco częstą przyczyną.
Google Chrome:
- Naciśnij
Ctrl + Shift + Delete(Windows/Linux) lubCmd + Shift + Delete(Mac) - Ustaw zakres czasu na All time
- Zaznacz Cookies and other site data i Cached images and files
- Kliknij Clear data
Mozilla Firefox:
- Przejdź do Settings → Privacy & Security
- W sekcji *Cookies and Site Data* kliknij Clear Data
- Wybierz obie opcje i potwierdź
Microsoft Edge / Safari:
Postępuj zgodnie z równoważnymi krokami w ustawieniach prywatności każdej przeglądarki.
Po wyczyszczeniu przeładuj stronę. Jeśli błąd zniknie, problem był po stronie przeglądarki. Jeśli się utrzymuje, przejdź do następnej metody.
> Wskazówka profesjonalna: Natychmiast przetestuj adres URL w oknie prywatnym/incognito. Tryb incognito nie używa żadnych danych w pamięci podręcznej ani plików cookie, więc jeśli witryna ładuje się tam prawidłowo, problem jest zdecydowanie po stronie przeglądarki.
Metoda 2: Sprawdź ustawienia adresów URL CMS (WordPress)
Jeśli prowadzisz WordPress, nieprawidłowe ustawienia adresów URL są jedną z najczęstszych przyczyn pętli przekierowań.
Za pośrednictwem panelu administracyjnego WordPress:
- Przejdź do Settings → General
- Sprawdź, czy zarówno WordPress Address (URL) jak i Site Address (URL) są identyczne i używają prawidłowego protokołu (
https://lubhttp://) oraz subdomeny (wwwlub non-www) - Zapisz zmiany
Jeśli nie możesz uzyskać dostępu do panelu administracyjnego (ponieważ pętla przekierowań uniemożliwia zalogowanie), edytuj plik wp-config.php bezpośrednio za pośrednictwem FTP lub menedżera plików hostingu:
define('WP_HOME', 'https://www.example.com');
define('WP_SITEURL', 'https://www.example.com');Zastąp https://www.example.com swoją rzeczywistą domeną. Te stałe zastępują wartości bazy danych i natychmiast przerwą pętlę.
Za pośrednictwem bazy danych WordPress (phpMyAdmin):
- Otwórz phpMyAdmin i wybierz bazę danych WordPress
- Otwórz tabelę
wp_options - Znajdź wiersze z
option_name=siteurlihome - Upewnij się, że obie wartości dokładnie pasują do Twojego zamierzonego adresu URL
Metoda 3: Tymczasowo wyłącz wtyczki WordPress
Wtyczki buforowania, bezpieczeństwa i SEO są częstymi sprawcami konfliktów przekierowań. Najszybszy sposób na zidentyfikowanie winnej wtyczki to wyłączenie ich wszystkich naraz.
Jeśli możesz uzyskać dostęp do panelu administracyjnego:
- Przejdź do Plugins → Installed Plugins
- Wybierz wszystkie wtyczki i wybierz Deactivate z menu akcji zbiorczych
Jeśli nie możesz uzyskać dostępu do panelu (pętla przekierowań blokuje logowanie):
- Połącz się z serwerem za pośrednictwem FTP lub SSH
- Przejdź do
/wp-content/ - Zmień nazwę folderu
pluginsna coś w rodzajuplugins_disabled - WordPress automatycznie wyłączy wszystkie wtyczki
Przeładuj witrynę. Jeśli błąd zniknął, zmień nazwę folderu z powrotem na plugins i ponownie aktywuj wtyczki jedną po jednej, testując po każdej aktywacji, aby zidentyfikować konfliktową wtyczkę.
Częste sprawcy to: Really Simple SSL, Redirection, Yoast SEO, W3 Total Cache i Wordfence.
Metoda 4: Przeanalizuj plik .htaccess (serwery Apache)
Na serwerach opartych na Apache plik .htaccess kontroluje przepisywanie adresów URL i reguły przekierowań. Konfliktujące lub zduplikowane reguły tutaj są bardzo częstą przyczyną pętli przekierowań.
Dostęp do .htaccess:
- Via FTP/SFTP: Plik znajduje się w katalogu głównym witryny (np.
public_html/) - Via cPanel File Manager: Włącz "Show Hidden Files", aby zobaczyć
.htaccess
Na co zwrócić uwagę:
Szukaj dyrektyw RewriteRule i Redirect. Szukaj reguł, które mogą tworzyć logikę kołową — na przykład reguła przekierowująca na HTTPS, która uruchamia się nawet wtedy, gdy żądanie jest już HTTPS.
Prawidłowa, nie tworzące pętli konfiguracja .htaccess dla HTTPS + www:
RewriteEngine On
# Redirect HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect non-www to www (only when already on HTTPS)
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]Kluczowa zasada: Każda reguła przekierowania musi zawierać warunek, który uniemożliwia jej uruchomienie, gdy żądanie już pasuje do celu. Warunek RewriteCond %{HTTPS} off zapewnia, że przekierowanie HTTPS uruchamia się tylko dla żądań HTTP — nigdy dla HTTPS.
Jeśli nie jesteś pewny swoich reguł .htaccess, tymczasowo zmień nazwę pliku na .htaccess_backup. WordPress i większość CMS automatycznie wygeneruje czystą wersję.
Metoda 5: Sprawdź przekierowania na poziomie serwera w panelu kontroli
Wiele paneli kontroli hostingu (cPanel, Plesk, DirectAdmin) pozwala na konfigurowanie przekierowań niezależnie od pliku .htaccess lub CMS. Te przekierowania na poziomie serwera mogą kolidować z przekierowaniami na poziomie aplikacji.
Kroki:
- Zaloguj się do panelu kontroli hostingu
- Szukaj sekcji Redirects (w cPanel znajduje się pod Domains → Redirects)
- Przejrzyj wszystkie skonfigurowane przekierowania
- Usuń wszystkie, które duplikują lub kolidują z przekierowaniami już obsługiwanymi przez CMS lub
.htaccess
Jeśli zarządzasz witryną o dużym ruchu na Dedicated Server, sprawdź również pliki konfiguracji wirtualnego hosta Nginx lub Apache pod kątem dyrektyw przekierowań, które mogą kolidować z regułami na poziomie aplikacji.
Metoda 6: Sprawdź konfigurację SSL/HTTPS
Jeśli pętla przekierowań występuje tylko na adresach URL https://, problem może być w sposobie konfiguracji certyfikatu SSL i wymuszania HTTPS.
Typowy scenariusz: Panel kontroli hostingu ma włączone "Force HTTPS", ORAZ plik .htaccess zawiera również przekierowanie HTTP na HTTPS, ORAZ wtyczka HTTPS CMS jest aktywna. Wszystkie trzy uruchamiają się jednocześnie i kolidują.
Naprawa: Wybierz jedną warstwę do obsługi przekierowania HTTPS i wyłącz ją we wszystkich pozostałych. Rekomendowane podejście to obsługa na poziomie serwera (konfiguracja wirtualnego hosta lub panel kontroli) i usunięcie jej z .htaccess i wszelkich wtyczek.
Upewnij się, że certyfikat SSL jest ważny i prawidłowo zainstalowany. Wygasły lub błędnie skonfigurowany certyfikat może czasami powodować nieoczekiwane zachowanie przekierowań. Jeśli potrzebujesz nowego certyfikatu, Certyfikaty SSL od AlexHost są łatwe do wdrożenia i utrzymania.
Weryfikacja naprawy
Po zastosowaniu którejkolwiek z powyższych napraw:
- Ponownie wyczyść pamięć podręczną i pliki cookie przeglądarki (zmiany nie będą widoczne, jeśli stare przekierowania są buforowane)
- Przetestuj w oknie incognito/prywatnym, aby potwierdzić, że naprawa działa bez żadnych danych w pamięci podręcznej
- Użyj narzędzia do sprawdzania przekierowań online, takiego jak Redirect Checker lub httpstatus.io, aby śledzić pełny łańcuch przekierowań i potwierdzić, że nie ma pętli
- Przetestuj wiele wariantów adresów URL:
http://domain.com,https://domain.com,http://www.domain.comihttps://www.domain.com— wszystkie cztery powinny rozwiązywać się do jednego kanonicznego adresu URL bez więcej niż jednego lub dwóch przekierowań
Jak zapobiec pętlom przekierowań w przyszłości
Naprawienie pętli przekierowań to jedno — zapobieganie jej ponownym pojawieniu się to drugie. Postępuj zgodnie z tymi najlepszymi praktykami:
Ustal jeden kanoniczny adres URL
Zdecyduj ostatecznie o jednej kanonicznej form
