All posts
Performance3 min readWatchFor Team

ERR_TOO_MANY_REDIRECTS: causes and how to fix it

When a page keeps redirecting to itself, the browser gives up with 'too many redirects'. Here's why redirect loops happen and the usual culprits behind them.

ERR_TOO_MANY_REDIRECTS: causes and how to fix it

The page won't load. Instead: "This page isn't working — ERR_TOO_MANY_REDIRECTS." Your site was fine yesterday, and now it's stuck in some invisible loop. What happened?

You've got a redirect loop — page A sends visitors to B, and B sends them right back to A, forever. After a handful of hops, the browser throws its hands up and stops. Let's find the cycle.

What's happening

A redirect tells the browser "go here instead." A redirect loop is when those instructions form a circle:

A → B → A → B → A → …  (browser gives up)

Browsers follow only so many redirects (usually ~20) before bailing with this error, to avoid looping endlessly. So the message really means: "I kept getting redirected and never arrived anywhere."

The usual culprits

CauseThe loop it creates
HTTP ↔ HTTPS misconfighttp→https at one layer, https→http at another
WWW ↔ non-WWWexample.comwww and wwwexample.com
Trailing slash rules/page/page/ and /page//page
CDN + origin both redirectingEach forces a rule the other undoes
Bad app/CMS redirect ruleA redirect pointing (directly or indirectly) at itself
Login/auth loop"Not logged in → login → not logged in"

The classic is the HTTPS or WWW one: two layers (say your CDN and your app) each "fix" the URL in opposite directions, bouncing the visitor back and forth.

How to diagnose it

  1. Open the network tab. Watch the chain of 301/302s — you'll literally see it ping-pong between two URLs. That's your loop.
  2. Check each redirect layer. CDN, load balancer, web server, and app can each add redirects. Two of them disagreeing is the usual cause.
  3. Look at recent changes. A new HTTPS rule, a CDN setting, or a CMS plugin often starts it.
  4. Check cookies. Auth loops can be cookie-related — a stale or blocked cookie that never lets login "stick."

How to fix it

  • Pick one canonical form and enforce it once. Decide on https + (www or non-www) + a trailing-slash rule, and apply each redirect in one place only — not at every layer.
  • Make sure the destination doesn't redirect back. The end of a redirect should return a 200, not another redirect.
  • Coordinate CDN and origin. If your CDN forces HTTPS, your origin shouldn't also be redirecting in a way that conflicts.

The core fix: redirect loops come from two rules fighting. Find the two layers disagreeing, and let only one of them own the redirect.

Catch it before users do

A redirect loop takes a page completely offline, and it often appears after an innocuous config change. Because it sits right at the entrance, monitoring your key URLs — and confirming they end on a 200, not an endless redirect — turns a silent, total outage into an instant alert.

The bottom line

In one line
WhatA redirect cycle the browser refuses to keep following.
Usual causeTwo layers (HTTPS/WWW/slash) redirecting against each other.
Find itThe network tab shows the ping-pong chain.
FixOne canonical rule, enforced in one place.

ERR_TOO_MANY_REDIRECTS looks scary but it's almost always two well-meaning rules in a tug-of-war. Pick one canonical URL form, enforce it once, and make sure the finish line is a real page.

More on redirects: 301 vs 302; watch your URLs with web monitoring.

Share this article