ERR_TOO_MANY_REDIRECTS on Netlify

A catch-all rule in _redirects that matches its own destination path re-enters itself on every pass.

Why it happens on Netlify

A catch-all rule in _redirects that matches its own destination path re-enters itself on every pass.

The fix on Netlify

Order rules from most to least specific and make sure no rule's destination can match its own source pattern. Use a 200 rewrite instead of a 301 where you want a proxy rather than a redirect.

If that didn't fix it

Netlify has its own failure mode, but ERR_TOO_MANY_REDIRECTS has a wider set of causes. The most common one overall is: The CDN forwards to the origin over HTTP while the origin redirects all HTTP to HTTPS — an infinite loop.

Switch the CDN's SSL mode to Full so the origin leg is encrypted, or make the origin trust the forwarded-proto header instead of the raw scheme.

Check your own domain

The uptime probe returns the full redirect chain, so you can see the exact two URLs bouncing off each other instead of inferring it from behaviour.

Frequently asked questions

Why does ERR_TOO_MANY_REDIRECTS happen on Netlify?

A catch-all rule in _redirects that matches its own destination path re-enters itself on every pass.

How do I fix ERR_TOO_MANY_REDIRECTS on Netlify?

Order rules from most to least specific and make sure no rule's destination can match its own source pattern. Use a 200 rewrite instead of a 301 where you want a proxy rather than a redirect.

What does ERR_TOO_MANY_REDIRECTS mean?

Two rules are bouncing the request back and forth — most often an HTTPS redirect at the application level fighting a proxy that is forwarding as plain HTTP, so each side thinks the other needs to upgrade.