How to Fix ERR_TOO_MANY_REDIRECTS in Chrome, Edge, and Firefox

How to Fix ERR_TOO_MANY_REDIRECTS

The ERR_TOO_MANY_REDIRECTS message appears when a website keeps bouncing your browser between URLs. Try the page in a private window first. If it opens there, remove cookies for that website and briefly disable your browser extensions. Still seeing the error in every browser and on every device? The fault is probably with the website’s server, CDN, HTTPS setup, or redirect rules.

Fastest fix for visitors: Delete data for the affected website, not your entire browsing history. That way, you keep your logins and preferences for other sites.

Clear cookies for the affected website

An old login, session, or redirect cookie may keep sending the browser back to the wrong place.

  1. Open the affected website in Chrome or Edge.
  2. Click the icon to the left of the address bar.
  3. Open Cookies and site data or Site settings.
  4. Delete the stored data for that domain.
  5. Close every tab for the website, reopen the browser, and try the page again.

Firefox puts the same controls under Settings > Privacy & Security > Cookies and Site Data > Manage Data. Search for the domain, remove its data, then reload the page.

Why Too Many Redirects Happens

A normal HTTP redirect moves a visitor from one URL to another. A server might, for instance, send http://example.com to https://example.com. Trouble starts when two or more rules send the request back and forth with no final destination.

SymptomLikely cause
Works in a private windowCorrupt cookies, cached data, or an extension
Fails in every browserServer-side redirect configuration
Started after enabling HTTPSConflicting HTTP-to-HTTPS rules
Started after adding a CDN or proxyIncorrect SSL mode or forwarded protocol handling
Only affects login or admin pagesSession cookie, authentication, or application URL mismatch

Steps for Website Visitors

1. Try a private browsing window

Open an Incognito or InPrivate window, then visit the same URL. If the page works in that fresh session, stored browser data or an extension is probably to blame rather than a server outage.

2. Turn off extensions for a moment

Privacy tools, ad blockers, user-agent switchers, VPN extensions, and HTTPS enforcement add-ons can all change requests. Disable them briefly, restart the browser, and test the site. Then switch the extensions back on one at a time until you find the one causing the loop.

3. Check your device’s date and time

A clock that’s wrong can interfere with secure sessions and authentication cookies. Turn on automatic time and time-zone settings, then restart the browser.

4. Use another device or network

Try opening the site on a phone over mobile data. If it fails there too, changing settings in your usual browser probably won’t solve it. You’ll need to contact the website owner or wait for them to correct the configuration.

Fixing the Loop on Your Website

1. Trace the redirect chain

Start with cURL and inspect the response headers and destinations:

curl -I -L --max-redirs 10 https://example.com

Watch for repeated Location: values or URLs that alternate, perhaps between HTTP and HTTPS. If you’d rather inspect the chain without automatically following every redirect, use:

curl -I https://example.com

2. Pick one canonical URL

Choose either the www address or the bare domain, then give every other version one clear route to it. Don’t create separate rules that force opposing versions.

  • http://example.com → https://example.com
  • http://www.example.com → https://example.com
  • https://www.example.com → https://example.com

Every source URL should arrive at the canonical address without being sent back to an earlier stop. That’s the part to check.

3. Inspect CDN and reverse proxy SSL settings

One common loop begins when a CDN connects to the origin over HTTP but the origin insists on HTTPS. The browser asks for HTTPS, the CDN contacts the server over HTTP, and the server sends the request back to HTTPS. Then it starts over.

Use end-to-end HTTPS where possible. On Cloudflare, install a valid certificate at the origin and select Full (strict) SSL/TLS mode. Avoid Flexible mode if the origin already redirects HTTP traffic to HTTPS.

Software running behind Nginx, Apache, a load balancer, or another reverse proxy also has to recognize the original protocol. Confirm that the proxy sends X-Forwarded-Proto. The application should trust that header only when it comes from approved proxies.

4. Review the server’s redirect rules

Look through recent redirects in Apache’s .htaccess, the Nginx configuration, hosting control panels, and any redirect plugins. You may need to disable those rules temporarily. Pay particular attention to duplicated HTTPS, domain, language, or trailing-slash rules. Make a backup before editing configuration files, and test the server configuration before reloading it.

5. Fix WordPress address settings

In WordPress, go to Settings > General. Check that WordPress Address and Site Address both use the intended HTTPS domain. If you can’t reach the dashboard, temporarily define the addresses in wp-config.php:

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

Replace the example domain with the site’s real canonical address. After that, disable redirect, security, caching, and SSL plugins one by one. A plugin can create a loop if it applies the same redirect already being handled by the CDN or web server.

Mistakes That Usually Make Things Worse

  • Wiping all browser data right away: Remove data for the affected domain first.
  • Adding yet another redirect: Extra rules often cover up the conflict instead of fixing it.
  • Leaving temporary redirects in place permanently: Switch to a permanent redirect only after you’ve confirmed the final URL.
  • Changing DNS without a reason: DNS generally isn’t the source of a redirect loop, since redirects happen after the browser reaches a web server.
  • Turning off HTTPS: Fix the proxy and certificate setup rather than weakening the site’s security.

Checking That the Fix Worked

  1. Purge the website, server, and CDN caches.
  2. Remove cookies for the domain, or open a fresh private window.
  3. Test the HTTP and HTTPS addresses, including both www and non-www versions.
  4. Run the cURL command again. Confirm that the chain stops at the intended page.
  5. Test login, logout, checkout, and administration pages separately.

A properly configured site generally takes no more than one or two redirects to arrive at its canonical HTTPS URL. If the browser still finds a loop, inspect the full redirect chain before changing anything else.

Leave a Comment

Related Posts