Jak opravit chybu ERR_TOO_MANY_REDIRECTS na webu WordPress
V Kinstě se setkáváme s mnoha různými chybami a s chybou ERR_TOO_MANY_REDIRECTS (známou také jako smyčka přesměrování) se setkáváme pravidelně. Obvykle k ní dochází po nedávné změně na webu WordPress, špatné konfiguraci přesměrování na serveru nebo špatném nastavení u služeb třetích stran. Ale nebojte se, tuto chybu lze poměrně snadno opravit.
Podívejte se na níže uvedená doporučení, jak tuto chybu opravit a zprovoznit váš web.
Co je to chyba ERR_TOO_MANY_REDIRECTS?
Důvodem chyby ERR_TOO_MANY_REDIRECTS je v podstatě to, jak to zní – něco způsobuje příliš mnoho přesměrování, čímž se váš web dostává do nekonečné smyčky přesměrování. V podstatě se web zasekl (například URL 1 ukazuje na URL 2 a URL 2 ukazuje zpět na URL 1, nebo vás doména přesměrovala příliš mnohokrát) a na rozdíl od některých jiných chyb se tyto chyby málokdy vyřeší samy a pravděpodobně budete muset podniknout kroky k jejich odstranění.
V závislosti na použitém prohlížeči existuje několik různých variant této chyby.
Google Chrome
V prohlížeči Google Chrome se tato chyba zobrazí jako ERR_TOO_MANY_REDIRECTS (jak je vidět níže) nebo Tato webová stránka má problém se smyčkou přesměrování.
Tato stránka nefunguje. domena.com vás přesměrovala příliš mnohokrát.
ERR_TOO_MANY_REDIRECTS v prohlížeči Google Chrome
(Podívejte se, jak opravit chybu ERR_CACHE_MISS v prohlížeči Chrome).
Mozilla Firefox
V prohlížeči Mozilla Firefox se zobrazí jako Stránka není správně přesměrována (jak je vidět níže).
Při připojení k doméně.com došlo k chybě. Tento problém může být někdy způsoben zakázáním nebo odmítnutím přijímání souborů cookie.
ERR_TOO_MANY_REDIRECTS v prohlížeči Mozilla Firefox
Microsoft Edge
V prohlížeči Microsoft Edge se jednoduše zobrazí jako Tato stránka právě nefunguje (jak je vidět níže).
Doména.com vás přesměrovala příliš mnohokrát.
ERR_TOO_MANY_REDIRECTS v prohlížeči Microsoft Edge
Safari
V prohlížeči Safari se zobrazí jako Safari nemůže otevřít stránku (jak je vidět níže).
Při pokusu o otevření „domain.com“ došlo k příliš mnoha přesměrováním. K tomu může dojít, pokud otevřete stránku, která je přesměrována na otevření jiné stránky, která je pak přesměrována na otevření původní stránky.
ERR_TOO_MANY_REDIRECTS chyba v prohlížeči Safari
Níže uvádíme několik doporučení a věcí, které je třeba zkontrolovat k odstranění chyby (seřazeno podle nejčastějších důvodů, které vidíme):
- Odstranit soubory cookie na daném webu
- Vymazat web WordPress, server, proxy server, a mezipaměť prohlížeče
- Zjistit povahu smyčky přesměrování
- Zkontrolovat nastavení HTTPS
- Zkontrolovat třetí-služeb třetích stran
- Zkontrolovat nastavení webu WordPress
- Dočasně vypnout zásuvné moduly WordPress
- Zkontrolovat přesměrování na serveru
Smazat soubory cookie na tomto konkrétním webu
Google i Mozilla skutečně doporučují přímo pod chybou „zkuste vymazat soubory cookie.“ Soubory cookie mohou někdy obsahovat chybné údaje, které mohou způsobit chybu ERR_TOO_MANY_REDIRECTS. Toto je jedno z doporučení, které můžete vyzkoušet, i když se s chybou setkáváte na webu, který nevlastníte.
Vzhledem k tomu, že soubory cookie zachovávají váš stav „přihlášen“ na webech a další nastavení, doporučujeme jednoduše vymazat soubor(y) cookie na webu, který má problém. Tímto způsobem neovlivníte žádné své další relace nebo webové stránky, které často navštěvujete.
Podle níže uvedených kroků odstraníte soubor cookie na konkrétní webové stránce v prohlížeči Google Chrome.
Krok 1
V prohlížeči Google Chrome klikněte na tři malé tečky v pravém horním rohu. Poté klikněte na „Nastavení“.
Nastavení Chromu
Krok 2
Přejděte dolů a klikněte na „Upřesnit.“
Pokročilé nastavení chromu
Krok 3
Poté klikněte na „Nastavení obsahu“
Nastavení obsahu chromu
Krok 4
Klikněte na „Cookies.“
Soubory cookie Chrome
Krok 5
Poté klikněte na „Zobrazit všechny soubory cookie a data webu.“
Chrome zobrazit všechny cookies
Krok 6
Vyhledejte web (doménu), na kterém se vyskytuje chyba ERR_TOO_MANY_REDIRECTS. Poté můžete odstranit soubor(y) cookie, který(é) je(jsou) pro tuto doménu aktuálně uložen(y) ve vašem počítači. Poté zkuste web navštívit znovu.
Odstranit soubor cookie v prohlížeči Chrome
Vymazat mezipaměť serveru, proxy serveru a prohlížeče
Vzhledem k tomu, že smyčky přesměrování jsou odpovědi, které mohou být uloženy v mezipaměti, doporučujeme vždy zkusit vymazat mezipaměť webu WordPress, serveru, proxy služeb třetích stran a případně i prohlížeče.
Vymazání mezipaměti webu WordPress
V závislosti na typu smyčky přesměrování můžete stále získat přístup k ovládacímu panelu správce WordPress. V takovém případě můžete snadno vymazat mezipaměť v rámci nastavení svého doplňku pro ukládání do mezipaměti. Zde je několik rychlých odkazů, jak vymazat mezipaměť WordPressu pomocí oblíbených pluginů:
Přihlášení k odběru novinek
Pomocí WordPressu jsme zvýšili návštěvnost o 1 187 %. Ukážeme vám, jak na to.
Přidejte se k více než 20 000 dalším, kteří dostávají náš týdenní newsletter se zasvěcenými tipy pro WordPress!
Přihlásit se k odběru nyní
- Vymazat mezipaměť pomocí nástroje Cache Enabler
- Vymazat mezipaměť pomocí nástroje W3 Total Cache
- Vymazat mezipaměť pomocí nástroje Super Cache
Jste-li klientem Kinsta, můžete snadno vymazat mezipaměť z panelu nástrojů administrace WordPressu.
Vymazat mezipaměť Kinsta z administrace WordPressu
Vymazat mezipaměť serveru
Pokud nemáte přístup do administrace WordPressu, mnoho hostitelů WordPressu má vlastní nástroje v ovládacím panelu pro vymazání mezipaměti webu WordPress.
Jestliže jste klientem služby Kinsta, můžete mezipaměť WordPressu vymazat ručně z ovládacího panelu MyKinsta. Jednoduše klikněte na svůj web, klikněte do nástrojů a klikněte na tlačítko „Vymazat mezipaměť“. Poté zkontrolujte svůj web, zda smyčka přesměrování stále existuje.
Vymazat mezipaměť WordPressu
Vymazat mezipaměť proxy serveru
Pokud používáte službu reverzního proxy serveru třetí strany, jako je Cloudflare nebo Sucuri, může být také výhodné vymazat mezipaměť na jejich straně.
Cloudflare
Chcete-li vyčistit mezipaměť Cloudflare, přihlaste se do jejich ovládacího panelu, klikněte do „Caching“ a klikněte na „Purge Everything“.“
Sucuri
Chcete-li vyčistit mezipaměť Sucuri, přihlaste se do jejich ovládacího panelu, přejděte do „Performance“ a klikněte na „Clear Cache.“
Vymazat mezipaměť Sucuri
Vymazat mezipaměť prohlížeče
Pokud chcete zkontrolovat a zjistit, zda to může být mezipamětí prohlížeče, aniž byste vymazali mezipaměť, můžete vždy otevřít prohlížeč v režimu inkognito. Nebo vyzkoušejte jiný prohlížeč a zjistěte, zda se chyba ERR_TOO_MANY_REDIRECTS stále zobrazuje.
Otevřete Chrome v režimu inkognito
Pokud zjistíte, že je to způsobeno mezipamětí prohlížeče, můžete ji vymazat. Níže jsou uvedeny pokyny, jak to provést v různých prohlížečích: jak vymazat mezipaměť prohlížeče pro Internet Explorer
Určení povahy smyčky přesměrování
Pokud vymazání mezipaměti nefungovalo, pak budete chtít zjistit, zda můžete určit povahu smyčky přesměrování. Tento bezplatný online nástroj pro kontrolu přesměrování může pomoci provést další analýzu toho, co se může dít. To lze provést také pomocí cURL.
Například na níže uvedeném webu je smyčka přesměrování 301 zpět na sebe sama, což způsobuje velký řetězec chybných přesměrování. Můžete sledovat všechna přesměrování a zjistit, zda se jedná o smyčku zpět na sebe sama, nebo zda se možná jedná o smyčku z HTTP na HTTPS, u které dále probereme, jak ji vyřešit.
Příliš mnoho přesměrování
Velmi užitečné může být také rozšíření Redirect Path Chrome, které poskytuje přehled o všech přesměrováních probíhajících na vašem webu (konkrétní URL nebo stránce.
Redirect Path extension
Zkontrolujte nastavení HTTPS
Další věcí, kterou je třeba zkontrolovat, je nastavení HTTPS. Mnohokrát jsme se setkali s výskytem ERR_TOO_MANY_REDIRECTS, když někdo právě migroval své stránky WordPress na HTTPS a buď to nedokončil, nebo něco špatně nastavil.
Nevynucujte HTTPS bez certifikátu SSL
To je zdaleka nejčastější důvod, který pravidelně vidíme. Pokud vynutíte načítání webu WordPress přes HTTPS bez předchozí instalace certifikátu SSL, okamžitě se váš web dostane do smyčky přesměrování. Chcete-li to napravit, jednoduše nainstalujte na svůj web WordPress certifikát SSL.
Doporučujeme také spustit kontrolu SSL. Certifikáty SSL/TLS vyžadují, aby byl nainstalován nejen váš hlavní certifikát, ale také tzv. zprostředkující certifikáty (řetězec). Ty je třeba správně nastavit.
Doporučujeme použít bezplatný nástroj pro kontrolu SSL od společnosti Qualys SSL Labs. Je velmi spolehlivý a používáme ho pro všechny klienty Kinsta při ověřování certifikátů. Jednoduše přejděte na jejich nástroj pro kontrolu SSL, zadejte svou doménu do pole Hostname a klikněte na „Submit“. Pokud si přejete, můžete také vybrat možnost skrýt veřejné výsledky. Prověření konfigurace SSL/TLS vašeho webu na webovém serveru může trvat minutu nebo dvě.
Test SSL
Nepoužívejte zásuvný modul SSL, aktualizujte pevně zakódované odkazy
Existují některé bezplatné zásuvné moduly SSL pro WordPress, například plugin Really Simple SSL, který vám pomůže automaticky přesměrovat na HTTPS. Tuto metodu však nedoporučujeme jako trvalé řešení, protože pluginy třetích stran mohou vždy přinést další vrstvu problémů a problémů s kompatibilitou. Je to dobré dočasné řešení, ale měli byste skutečně aktualizovat své natvrdo zakódované odkazy HTTP.
Máme skvělý návod se 4 snadnými způsoby, jak provést vyhledávání a nahrazování ve WordPressu. Pokud jste klientem společnosti Kinsta, můžete se vždy obrátit na náš tým podpory, aby to udělal i za vás.
Zkontrolujte přesměrování z HTTP na HTTPS na serveru
Může se velmi dobře stát, že možná byla pravidla přesměrování HTTPS na vašem serveru špatně nakonfigurována.
Přesměrování HTTP na HTTPS v Nginxu
Pokud váš webový server používá Nginx, můžete snadno přesměrovat veškerý provoz HTTP na HTTPS přidáním následujícího kódu do konfiguračního souboru Nginxu. Toto je doporučená metoda pro přesměrování WordPressu běžícího na Nginxu.
server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; }
V Kinsta používáme Nginx pro všechny. Skvělou zprávou je, že se o to nemusíte starat. Pokud potřebujete přidat přesměrování, jednoduše otevřete rychlý ticket podpory a dejte nám vědět, kterou doménu potřebujete přesměrovat. My ji pak přidáme do konfigurace Nginxu za vás.
Přesměrování HTTP na HTTPS v Apache
Pokud váš webový server používá Apache, můžete snadno přesměrovat veškerý provoz HTTP na HTTPS přidáním následujícího kódu do souboru .htaccess
. Jedná se o doporučený způsob přesměrování WordPressu běžícího na Apache.
RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Kontrola příliš mnoha přesměrování HTTPS
Možná máte jednoduše příliš mnoho přesměrování HTTPS. Pomocí nástroje Redirect mapper Patricka Sextona můžete snadno zkontrolovat, kolik přesměrování váš web používá. Níže je uveden příklad nesprávně nastavených přesměrování, která lze pomocí mapovače přesměrování snadno zjistit. Je vidět, že dochází k duplicitním přesměrováním HTTPS jak na www, tak na newww verzi.
Přesměrování
Kontrola služeb třetích stran
ERR_TOO_MANY_REDIRECTS je také často způsobeno službami reverzní proxy, jako je Cloudflare. K tomu obvykle dochází, když je povolena jejich možnost Flexible SSL a vy již máte u hostitele WordPressu nainstalovaný certifikát SSL. Proč? Protože když je vybrána možnost Flexible, jsou všechny požadavky na váš hostingový server odesílány prostřednictvím protokolu HTTP. Váš hostitelský server již s největší pravděpodobností má zavedeno přesměrování z HTTP na HTTPS, a proto dochází ke smyčce přesměrování.
Chcete-li to napravit, musíte změnit nastavení šifrování Cloudflare z Flexible na Full nebo Full (strict). Pokud jste klientem společnosti Kinsta, nezapomeňte se také podívat na náš návod, jak nainstalovat certifikát SSL při použití služby Cloudflare.
Nastavte úroveň Cloudflare crypto na full
Můžete použít jejich pravidlo Always Use HTTPS page pro přesměrování všech uživatelů na HTTPS bez vytvoření smyčky. Další věc, na kterou si u Cloudflare musíte dát pozor, jsou jejich pravidla pro přesměrování URL. Dávejte pozor, abyste nevytvořili přesměrování, kde doména odkazuje sama na sebe jako na cíl. To může způsobit chybu nekonečného přesměrování a dotčené adresy URL nebude možné přeložit.
Pokud používáte službu StackPath, mají možnost nazvanou „Origin Pull Protocol“, kterou je třeba nastavit pouze na HTTPS.
Používání pouze služby Cloudflare DNS
Pokud chcete používat pouze službu Cloudflare DNS, a ne jejich proxy/WAF, měli byste se ujistit, že vaše záznamy DNS jsou nastaveny na „Pouze DNS“. Mraky se budou zobrazovat jako „šedé“ místo „oranžových“. Toto nastavení provedete na kartě „DNS“ v ovládacím panelu služby Cloudflare.
Pouze služba Cloudflare DNS
Zkontrolujte nastavení webu WordPress
Další věc, kterou je třeba zkontrolovat, je nastavení webu WordPress. Existují dvě různá pole, u kterých se budete chtít ujistit, že jsou nastavena správně a neukazují na špatnou doménu nebo jsou špatně nastavena. Další častou chybou je, že nepoužíváte správnou předponu, která by odpovídala zbytku webu, ať už www nebo newww. Někdy lidé migrují hostitele nebo mění domény a ty se mohou změnit, aniž byste si to uvědomili.
- Adresa (URL) WordPressu:
- Adresa webu (URL):
Oboje by se mělo shodovat, pokud nedáte WordPressu vlastní adresář.
Adresa WordPressu
S největší pravděpodobností však nemáte přístup k ovládacímu panelu WordPressu. Co tedy můžete udělat, je přepsat výše uvedená nastavení zadáním hodnot do souboru wp-config.php.
Soubor wp-config.php se obvykle nachází v kořenovém adresáři webu WordPress a je přístupný přes FTP, SSH nebo WP-CLI. Chcete-li natvrdo nastavit WP_HOME a WP_SITEURL, jednoduše zadejte následující kód směrem k horní části souboru a změňte hodnoty tak, aby odrážely vaši doménu.
define('WP_HOME','https://yourdomain.com');define('WP_SITEURL','https://yourdomain.com');
Níže je uveden příklad toho, jak může následně vypadat váš soubor wp-config.php.
Změňte URL adresu WordPress v souboru wp-config.php souboru
Nebo pokud chcete, zde jsou další dva způsoby, jak můžete změnit adresy URL WordPressu bez přístupu k ovládacímu panelu správce:
- Změnit adresu URL WordPressu přímo v databázi
- Změnit adresu URL WordPressu pomocí WP-CLI
Po ručním nastavení můžete projít své stránky a ověřit, zda se tím smyčka přesměrování opraví.
Multisite
Pokud měníte domény na multisite, nezapomeňte také zkontrolovat tabulku wp_blogs
. Setkali jsme se s tím, že lidé špatně provedli vyhledávání a nahrazování a způsobili nekonečnou smyčku přesměrování. Je to proto, že síťová stránka neodpovídá dílčím stránkám.
wp_#_options
: Každá dílčí stránka bude mít sady tabulek, které odpovídají blog_id
v tabulce wp_blogs
. Přejděte do tabulky wp_#_options
, kde # odpovídá blog_id
, a aktualizujte nastavení „SITEURL“ a „HOME“ v této tabulce.
Dočasně vypněte zásuvné moduly WordPress
Pokud jde o WordPress, dočasné vypnutí všech zásuvných modulů WordPress může být rychlý způsob, jak odhalit problémy. Například pluginy jako Přesměrování nebo Yoast SEO premium umožňují implementovat přesměrování. Někdy může nastavení nebo aktualizace těchto pluginů kolidovat s přesměrováním, které již může být na vašem serveru nastaveno, a způsobit tak smyčku přesměrování.
Pamatujte, že pokud plugin jednoduše zakážete, nepřijdete o žádná data. S největší pravděpodobností nemáte přístup do administrace WordPressu, takže se budete muset přihlásit přes SFTP na server a přejmenovat složku plugins na něco jako plugins_old. Poté znovu zkontrolujte své stránky.
SFTP přejmenuje složku plugins
Pokud to funguje, budete muset otestovat jednotlivé pluginy jeden po druhém. Přejmenujte složku zásuvných modulů zpět na „plugins“ a pak přejmenujte jednotlivé složky zásuvných modulů uvnitř if, jednu po druhé, dokud je nenajdete. Můžete to také nejprve zkusit zopakovat na zkušebním webu.
Kontrola přesměrování na serveru
Kromě přesměrování z HTTP na HTTPS na serveru může být dobré zkontrolovat a ujistit se, že nejsou špatně nastavena další přesměrování. Například jedno špatné přesměrování 301 zpět na sebe sama může váš web zničit. Obvykle je najdete v konfiguračních souborech serveru.
Soubor .htaccess pro Apache
Kinsta používá pouze Nginx, ale pokud používáte hostitele WordPressu, který používá Apache, může se velmi dobře stát, že váš soubor .htaccess
má v sobě špatné pravidlo. Podle následujících kroků vytvoříte nový od začátku.
Nejprve se přihlaste ke svému webu přes FTP nebo SSH a přejmenujte soubor .htaccess
na .htaccess_old
. Tím zajistíte, že budete mít zálohu.
Přejmenujte soubor .htaccess
Obvykle pro znovuvytvoření tohoto souboru můžete jednoduše znovu uložit své trvalé odkazy ve WordPressu. Pokud se však nacházíte uprostřed chyby ERR_TOO_MANY_REDIRECTS, s největší pravděpodobností nemáte přístup do administrace WordPressu, takže tato možnost nepřipadá v úvahu. Můžete proto vytvořit nový soubor .htaccess
a zadat do něj následující obsah. Poté jej nahrajte na svůj server. V následujícím textu je použito výchozí nastavení.
# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php </IfModule># END WordPress
Další příklady, například výchozí soubor .htaccess
pro multisite, najdete v Kodexu WordPressu.
Vzali jsme naše znalosti o efektivní správě webových stránek ve velkém měřítku a převedli je do podoby elektronické knihy a videokurzu. Klikněte sem a stáhněte si Průvodce správou více než 40 webů WordPress 2020!
Konfigurace Nginx
Pokud váš hostitel používá Nginx, může být tento soubor trochu složitější, protože konfigurační soubor se může trochu lišit v závislosti na poskytovateli hostingu. Doporučujeme obrátit se na svého hostitele a požádat ho, aby zkontroloval konfigurační soubor, zda neobsahuje něco, co by mohlo způsobovat smyčku přesměrování nebo příliš mnoho přesměrování.
Jestliže jste klientem Kinsta, budete chtít nejprve zkontrolovat, zda jste v našem nástroji pro přesměrování nenastavili přesměrování špatně. Níže je uveden jednoduchý příklad přesměrování z https://domain.com/
zpět na sebe sama, který by způsobil smyčku přesměrování.
Špatné přesměrování 301
Toto se také běžně stává, když je adresa URL umístění obsažena v položkách „Přesměrování od“ i „Přesměrování na“
Například následující by způsobilo smyčku přesměrování:
Přesměrování od: ^/blog/about
Přesměrování na: https://domain.com/blog/about-me
Proč? Protože jakmile by proces dosáhl ^/blog/about
, zbývající část -me
by neměla význam a způsobila by nekonečnou smyčku. Musíte zadat konec řetězce a počáteční bod. Zde je uvedeno, co byste udělali, abyste to vyřešili:
Přesměrování Od: ^/blog/about$
Přesměrování na:
Znak $ řekne systému Nginx, aby se zastavil a porovnal požadavek pouze v případě, že je tam přesně tento řetězec, ale nic za ním.
A samozřejmě můžete vždy otevřít ticket podpory a my to zkontrolujeme za vás.
Špatně nakonfigurovaná reverzní proxy
Dalším častým důvodem chyby ERR_TOO_MANY_REDIRECTS je, pokud používáte reverzní proxy. Reverzní proxy servery mohou být poměrně komplikované a při špatné konfiguraci je velmi snadné poslat váš web WordPress do smyčky přesměrování. Pokud jste klientem společnosti Kinsta, může vám s tím opět pomoci náš tým podpory.
Webová stránka uvízla v nekonečné smyčce přesměrování? 🛣 Podívejte se na tato doporučení, jak se rychle vrátit zpět do provozu. klikněte na Tweet
Shrnutí
Smyčky přesměrování je někdy složité vysledovat. Doufejme však, že vám některé z výše uvedených kroků při řešení problémů pomohou vyřešit chybu ERR_TOO_MANY_REDIRECTS. Pokud jsme něco vynechali, neváhejte nám dát vědět níže v komentářích.
Pokud se vám tento článek líbil, pak se vám hostingová platforma WordPress od společnosti Kinsta bude líbit. Nabijte své webové stránky a získejte nepřetržitou podporu od našeho týmu zkušených odborníků na WordPress. Naše infrastruktura poháněná službou Google Cloud se zaměřuje na automatické škálování, výkon a zabezpečení. Dovolte nám, abychom vám ukázali rozdíl Kinsta! Podívejte se na naše plány
.