How to Fix “ERR_TOO_MANY_REDIRECTS” (Redirect Loops)
"ERR_TOO_MANY_REDIRECTS" means your site is caught in a loop — page A sends the browser to page B, which sends it back to A, forever. The browser eventually gives up. The fix is finding the two rules that disagree and making them agree.
The most common cause: Cloudflare SSL mode
If you use Cloudflare set to "Flexible" SSL while your site also forces HTTPS, you create a loop: Cloudflare talks to your server over HTTP, your server redirects to HTTPS, and round it goes. The fix is to set Cloudflare's SSL mode to "Full" (or Full Strict) once you have a valid certificate — see installing a free SSL certificate.
Other frequent causes
- www vs non-www conflict — two redirects fighting over which version is canonical.
- Duplicate HTTPS redirects — one in
.htaccessand another in a plugin or in cPanel. Keep only one. See redirecting HTTP to HTTPS. - Wrong WordPress URLs — mismatched Site Address and WordPress Address settings.
Step-by-step
- Clear your browser cookies for the site — stale cookies can sustain a loop.
- Check Cloudflare's SSL mode and set it to Full if you use Cloudflare.
- Remove duplicate redirects — pick one method (htaccess, cPanel, or plugin), not several.
- Verify WordPress URLs match and both use
https://.
For WordPress specifically
Check Settings → General that both the WordPress Address and Site Address are identical and use HTTPS. If you cannot log in, you can set them in wp-config.php. Then clear your cache.
Frequently asked questions
It works in incognito but not my normal browser.
That is a cookie issue. Clear cookies for the site in your normal browser and the loop usually breaks.
I only get it after enabling Cloudflare.
Almost certainly the "Flexible" SSL setting combined with a force-HTTPS rule. Switch Cloudflare to Full SSL with a valid certificate installed on your server.
Where do I look for duplicate redirects?
Check your .htaccess file, any redirect set in cPanel, and any HTTPS/SSL plugin. Having two that both force HTTPS is a common loop source — keep one.
Was this article helpful?