How to Fix ERR_TOO_MANY_REDIRECTS: A No-BS Troubleshooting Guide
So your site just died with "ERR_TOO_MANY_REDIRECTS" and you're frantically Googling at 2 AM? Been there. Let me help you fix this mess.
I've probably fixed this error a hundred times across different setups. The good news? It's almost always one of a handful of causes. The bad news? Finding which one is your problem can feel like detective work.
Let's get your site back online.
What's Actually Happening
Here's the deal: your browser is bouncing between URLs in an infinite loop. Something like this:
yoursite.com → yoursite.com/page → yoursite.com → yoursite.com/page → (forever)Most browsers give up after about 20 redirects and show you that lovely error. The redirect chain never ends, so your page never loads.
Quick Fixes to Try First
Before we dive deep, try these quick wins. They fix about 30% of cases:
1. Clear Your Browser Stuff
Sometimes it's just stale cookies messing with you. Try:
- Open incognito/private mode and test the URL
- Press
Ctrl + Shift + R(Windows) orCmd + Shift + R(Mac) for a hard refresh - Clear cookies specifically for your domain
If it works in incognito but not normally? Your browser cached a bad redirect. Clear those cookies.
2. Test From Another Device
Quick sanity check: is it just you or everyone? Try your phone on cellular (not WiFi) or ask a friend to test. If it works for others, the problem is local caching.
The Usual Suspects
OK, so it's not just caching. Let's find the real culprit.
Suspect #1: Cloudflare SSL Settings (Most Common)
I'm going to be honest: if you use Cloudflare, there's a 60% chance this is your problem. Here's why.
Cloudflare has SSL modes: Off, Flexible, Full, and Full (Strict). The classic mistake?
- You set Cloudflare to Flexible SSL
- Your server has its own SSL certificate
- Your server forces HTTPS
- Boom. Infinite loop.
What's happening: Cloudflare connects to your server via HTTP (Flexible mode), your server says "nope, use HTTPS" and redirects, Cloudflare gets the redirect, tries HTTP again... forever.
The fix:
- Go to Cloudflare Dashboard → SSL/TLS
- Change encryption mode to Full or Full (Strict)
- Wait a few minutes and test
Or if you don't have an SSL cert on your server, remove the HTTPS redirect from your server config.
Suspect #2: WordPress URL Mismatch
For WordPress sites, this is classic. Your site URL and WordPress URL don't match, or they're set wrong after a migration.
Check these in wp-admin → Settings → General:
- WordPress Address (URL)
- Site Address (URL)
Can't access wp-admin? Add this to wp-config.php:
define('WP_HOME','https://yoursite.com');
define('WP_SITEURL','https://yoursite.com');Make sure both use the same protocol (https) and the same www preference (either both with www or both without).
Suspect #3: The www vs non-www Conflict
This one bites people all the time. You have:
- A redirect from
www.site.comtosite.comsomewhere - A redirect from
site.comtowww.site.comsomewhere else
They fight each other. Forever.
Places to check:
- Your .htaccess file
- WordPress settings
- Cloudflare page rules
- Your hosting control panel
- Any redirect plugins
Pick one version (www or non-www) and make sure every redirect points there. Not some here, some there.
Suspect #4: Plugin Conflicts (WordPress)
Got multiple plugins handling redirects? SSL plugins? Caching plugins? They might be stepping on each other.
The nuclear option that works:
- FTP/SFTP into your site
- Go to
/wp-content/ - Rename the
pluginsfolder toplugins_backup - Test your site
If it works, you've got a plugin problem. Rename the folder back, then disable plugins one by one to find the culprit. Common offenders:
- Really Simple SSL
- Redirection plugins
- Security plugins with force HTTPS
- Caching plugins
Suspect #5: .htaccess Gone Wrong
If you're on Apache, your .htaccess file might have conflicting rules. Here's a safe way to test:
- Download your current .htaccess as backup
- Replace it with a minimal WordPress .htaccess:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressSite works now? Your old .htaccess had the problem. Check for duplicate redirect rules, especially for HTTPS and www handling.
Platform-Specific Fixes
Nginx with Reverse Proxy
Running Nginx in front of Apache? Add this to tell WordPress it's actually on HTTPS:
// Add to wp-config.php
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}Cloudflare with WordPress
The Cloudflare plugin can help prevent loops. Install it, then:
- Enable "Automatic HTTPS Rewrites"
- Make sure SSL mode is Full or Full (Strict)
- Disable any other SSL-forcing plugins
cPanel / Shared Hosting
Check these places for conflicting redirects:
- cPanel → Redirects
- cPanel → SSL/TLS Status (Auto-redirect settings)
- Let's Encrypt / AutoSSL settings
Debugging Like a Pro
Can't figure it out? Let's trace the actual redirects.
Use curl to See the Chain
curl -I -L --max-redirs 10 https://yoursite.comThis shows you each hop. Look for the pattern—where does it loop back?
Use Chrome DevTools
- Open DevTools (F12)
- Go to Network tab
- Check "Preserve log"
- Load your URL
- Look at the redirect chain—you'll see 301s and 302s stacking up
Use Our Redirect Checker
Shameless plug: Redirect Check shows you the complete redirect chain with timing info. Paste your URL, see exactly where the loop happens.
Preventing This in the Future
Once you've fixed it, don't want to go through this again:
- Keep redirects in one place - Don't scatter them across .htaccess, plugins, CDN rules, and hosting panels
- Test before going live - Use staging environments for SSL and redirect changes
- Document your setup - Future you will thank present you
- Pick your canonical URL and stick with it - www or non-www, HTTPS (obviously), and be consistent
Still Stuck?
If you've tried everything:
- Contact your host - They can see server logs you can't access
- Pause Cloudflare temporarily - Remove that variable while you debug
- Check recently changed things - What did you change right before this started?
The ERR_TOO_MANY_REDIRECTS error is annoying, but it's fixable. Usually it's just two things disagreeing about where traffic should go. Find the conflict, pick a winner, and you're back in business.
Good luck. You've got this.
References
- Cloudflare SSL/TLS Documentation - ERR_TOO_MANY_REDIRECTS - Cloudflare Developers (2025)
- How to Fix The ERR_TOO_MANY_REDIRECTS Error - Kinsta (2025)
- How to Fix Error Too Many Redirects Issue in WordPress - WPBeginner (2025)
- Community Tip - Fixing ERR TOO MANY REDIRECTS - Cloudflare Community (2025)
Sprawdź swoje przekierowania teraz
Nie pozwól, by złe przekierowania szkodziły Twojemu SEO. Użyj naszego bezpłatnego narzędzia, aby natychmiast zaudytować swoje linki.
Powiązane artykuły
Zobacz wszystkie wpisy arrow_forwardSetting Up Redirects in Cloudflare: A No-Nonsense Guide for 2025
Master Cloudflare redirects with this practical guide. Learn Single Redirects, Bulk Redirects, common pitfalls, and real troubleshooting tips that actually work.
Mobile-First Redirects: How to Optimize for Core Web Vitals in 2025
Learn how redirects impact Core Web Vitals and mobile performance. Practical strategies to maintain LCP, INP, and CLS scores during redirects.
E-commerce Redirect Strategies: Maximize Sales & SEO Performance
Master e-commerce redirects to boost conversions, preserve SEO rankings, and enhance user experience. Complete guide with real examples and best practices.