Web Hosting

Fix "Too Many Redirects" (ERR_TOO_MANY_REDIRECTS)

ERR_TOO_MANY_REDIRECTSredirected you too many timesredirect loop
5 min read Updated 12 June 2026 ESAGAMES Team

A redirect loop means two rules keep bouncing the browser back and forth — A sends you to B, B sends you back to A. It's almost always an SSL/Cloudflare or WordPress URL mismatch. Here's the fix.

Cause 1: Cloudflare SSL mode

The classic loop: Cloudflare's SSL is set to Flexible while your server also forces HTTPS. Cloudflare talks http to your server, your server redirects to https, forever. Set Cloudflare SSL to Full (strict) when your server has a valid certificate.

Cause 2: WordPress URL mismatch

If the WordPress and Site URLs disagree (http vs https, www vs non-www), it loops. Set both consistently in wp-config.php:

define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');

Cause 3: conflicting .htaccess redirects

Two rules — one forcing www, another forcing non-www (or http↔https) — fight each other. Keep one canonical redirect direction and remove the duplicate.

Clear cookies/cache to test

Your browser caches redirects, so test in a private window after each change — otherwise you'll keep seeing the old loop even once it's fixed.

A loop = two rules disagreeing. Fix Cloudflare SSL to Full, match WordPress URLs, and keep one canonical redirect.

SSL done right

Our web hosting includes valid SSL and sane redirects out of the box, with DDoS protection on NVMe.

See web hosting
FAQ

Frequently asked questions

What causes ERR_TOO_MANY_REDIRECTS?

Two redirect rules bouncing the browser in a loop — most commonly Cloudflare's Flexible SSL fighting a server HTTPS redirect, mismatched WordPress URLs, or conflicting www/non-www rules in .htaccess.

How do I fix a redirect loop with Cloudflare?

Set Cloudflare's SSL/TLS mode to Full (strict) when your origin has a valid certificate, instead of Flexible. Flexible plus a server-side HTTPS redirect creates an endless loop.

Why does my WordPress site keep redirecting?

Usually the WordPress Address and Site Address disagree (http vs https or www vs non-www). Set WP_HOME and WP_SITEURL to the same canonical URL in wp-config.php.

Knowledge base

Related articles

Skip the troubleshooting

Managed, protected hosting in Frankfurt — we handle the Linux, the network and the DDoS so you don't have to.

Payments Secure checkout with cards, banking apps and digital wallets.

Choose the payment flow that fits your stack and region without leaving the platform.

Pay by Zen Visa Mastercard Paysafecard PaysafeCash Skrill Trustly Bancontact UnionPay iDeal WebMoney