Errors / Wednesday August 26, 2026
Top Common Causes of ERR_TOO_MANY_REDIRECTS

A redirect loop happens when your website’s configuration creates a circular redirect pattern. URL A sends visitors to URL B, which sends them back to URL A, repeating endlessly. Your browser gives up after detecting too many redirects and displays an error instead of loading the page.
This guide breaks down the most common causes of redirect loops, from WordPress configuration conflicts to SSL issues and server misconfigurations. By identifying the right scenario, you can apply the correct fix and make your site accessible again.
WordPress Configuration Issues
WordPress-specific settings and components frequently cause redirect loops, especially after site migrations, SSL installations, or plugin updates.
WordPress URL Settings Mismatch
The WordPress Address (URL) and Site Address (URL) settings in Settings > General control where WordPress expects to find its files and where users access your site. When these don’t match correctly, redirect loops often result.
Common mismatches include one URL using HTTPS while the other uses HTTP (https://example.com vs http://example.com), one URL including www while the other doesn’t (https://www.example.com vs https://example.com), or incorrect domain names entirely after migrations.
WordPress tries to redirect to the configured URL. If your WordPress Address says HTTPS but your server or CDN redirects HTTPS back to HTTP, you create a loop.
Pro Tip: If you’re locked out of WordPress admin due to a redirect loop, you can’t access Settings > General. In this case, you’ll need to update these URLs directly in the database or via wp-config.php to break the loop.
Plugin Conflicts
WordPress plugins that handle redirects, caching, security, or SSL often conflict with each other or with server-level settings.
Multiple plugins trying to force HTTPS at the same time can create loops. For example, if Really Simple SSL forces HTTPS while a security plugin also forces HTTPS, and your server configuration adds another HTTPS redirect, these redundant redirects sometimes conflict.
Redirect plugins like Redirection or Simple 301 Redirects might create loops if you accidentally configure circular redirect rules, such as redirecting /page-a/ to /page-b/ while another rule redirects /page-b/ to /page-a/.
Caching plugins can cache redirect headers, causing old redirect instructions to persist even after you’ve changed configuration. The cached redirect keeps sending users in circles even though the current configuration is correct.
Theme-Level Redirects
Some WordPress themes include built-in redirect functionality, particularly premium themes with advanced options panels. Theme settings that force HTTPS, redirect to preferred domain versions (www vs non-www), or implement custom redirect rules can conflict with server configuration or plugin settings.
When troubleshooting WordPress redirect loops, temporarily switching to a default WordPress theme helps identify if your active theme is causing the issue.
HTTPS and SSL Configuration Problems
SSL certificate installation and HTTPS enforcement are among the most common triggers for redirect loops because they involve configuration at multiple levels that must align perfectly.
Mixed SSL Enforcement
HTTPS redirect loops typically happen when SSL is enforced at multiple levels with conflicting configurations.
Your CDN (like Cloudflare) forces HTTPS, redirecting HTTP requests to HTTPS. But your WordPress site URL is still set to HTTP, so WordPress redirects HTTPS requests back to HTTP. The CDN catches the HTTP request and redirects back to HTTPS, creating an infinite loop.
Pro Tip: HTTPS redirects should exist at only one level in your infrastructure. Choose whether your CDN, server configuration, or WordPress will handle HTTPS enforcement, and disable it everywhere else to prevent conflicts.
Flexible SSL Settings on CDNs
CDN services like Cloudflare offer different SSL modes: Off, Flexible, Full, and Full (Strict). Using the wrong mode for your server configuration causes redirect loops.
Flexible SSL mode encrypts traffic between visitors and the CDN, but uses HTTP between the CDN and your server. If your server forces HTTPS redirects, it redirects the CDN’s HTTP request to HTTPS. The CDN then converts this to HTTP when connecting to your server, which redirects to HTTPS again, creating a loop.
Force HTTPS Without SSL Certificate
Forcing HTTPS in WordPress (via plugins or settings) before properly installing an SSL certificate on your server creates guaranteed redirect loops.
WordPress redirects visitors to HTTPS, but your server can’t serve HTTPS without a certificate, so it falls back to HTTP. WordPress catches this and redirects to HTTPS again, repeating indefinitely.
Server and CDN Configuration Conflicts
Server-level redirect rules and CDN settings interact in complex ways. When they don’t align, redirect loops often result.
.htaccess Redirect Rules (Apache)
The .htaccess file controls redirect behavior on Apache servers. Poorly configured rules or conflicting directives create loops.
Common .htaccess issues include duplicate redirect rules that process in an unexpected order, rules that redirect HTTP to HTTPS while other rules redirect HTTPS back to HTTP, www to non www redirects that conflict with reverse redirects, and multiple sets of redirect rules added by different plugins or manual edits that interact unpredictably.
Nginx and IIS Configuration Issues
Nginx uses different syntax than Apache, and redirect configuration errors in nginx.conf create loops through return and rewrite directives that create circular redirect patterns, or server blocks with conflicting redirect logic for HTTP vs HTTPS.
Windows servers using IIS configure redirects via web.config files. Redirect loops commonly stem from conflicting URL Rewrite rules with overlapping conditions or rules that match both incoming and outgoing URLs.
CDN Redirect Settings
CDN services provide their own redirect and URL manipulation features that can conflict with server-side redirects.
Cloudflare’s “Always Use HTTPS” feature redirects all HTTP requests to HTTPS at the CDN level. If you enable it while your server or WordPress also forces HTTPS in conflicting ways, loops can occur.
CDN page rules that redirect specific URL patterns might create loops if they redirect to URLs that your server then redirects elsewhere, eventually looping back to the original CDN-redirected URL.
Cache and Cookie-Related Causes
Cached data and cookies can perpetuate redirect loops even after you’ve fixed the underlying server configuration.
Cached Redirects
Browser cache stores redirect responses. If your server previously sent a redirect that created a loop, your browser caches this bad redirect. Even after fixing the server configuration, your browser keeps following the cached loop.
Server-side caching systems (Varnish, Redis, Memcached, OPcache) can also cache redirect responses. A cached 301 or 302 redirect that creates a loop will persist until you purge the cache.
CDN cache stores responses at edge locations globally. A redirect loop cached by your CDN affects all visitors using those edge servers until you manually purge it or the cache TTL expires.
Pro Tip: Always clear cache at every level after fixing redirect configurations: browser cache, server cache, CDN cache, and WordPress cache. A fix doesn’t take effect if old cached redirects are still being served.
WordPress Cache Plugins
WordPress caching plugins like WP Super Cache, W3 Total Cache, or WP Rocket can cause redirect loops in specific scenarios.
If a redirect loop generates cache, the cached pages serve the loop to all visitors even after you fix the configuration. Some caching plugins have their own redirect or CDN integration features that can conflict with server-level redirects.
Domain and URL Structure Issues
Changes to your domain structure or URL patterns often trigger redirect loops if you don’t implement them carefully.
WWW vs Non-WWW Conflicts
Redirect loops occur when your server redirects www to non-www, but your WordPress Site URL includes www, causing WordPress to redirect back to www. Or vice versa, the server redirects to www while WordPress redirects to non-www.
CDN settings that enforce one version while your server enforces the other create loops. DNS settings don’t cause redirects themselves, but if DNS points www and non-www to different servers with conflicting redirect rules, loops can occur.
Domain Migration Redirects
After migrating from your old domain to a new domain, redirect loops happen if both domains still have conflicting redirect configurations.
The old domain redirects all traffic to newdomain.com, but the new domain has a rule that redirects certain paths back to the old domain for legacy content. Forgetting to update internal WordPress links or site URL settings after migration, while redirects from the old domain remain, creates loops.
Reverse Proxy and Load Balancer Issues
Advanced hosting setups using reverse proxies or load balancers introduce additional layers where redirect loops can originate.
SSL Termination at Proxy Level
When SSL terminates at a reverse proxy or load balancer, traffic between the proxy and your application server uses HTTP, not HTTPS.
If your application doesn’t know it’s behind a proxy and checks the direct connection protocol (HTTP), it might try redirecting to HTTPS. The proxy receives this HTTPS redirect, which goes back to the application server as HTTP, triggering another redirect and creating a loop.
Proper forwarding headers (X-Forwarded-Proto, X-Forwarded-SSL) tell your application it’s receiving HTTPS traffic even though the direct connection is HTTP. Without these headers or without your application respecting them, redirect loops occur.
For reliable performance and proper configuration of server-level redirects, reverse proxies, and SSL settings, quality hosting infrastructure with correctly configured web servers helps prevent many redirect loop scenarios before they occur.
Identifying Your Specific Cause
Start by determining when the redirect loop began. If it started immediately after installing SSL, the cause is almost certainly HTTPS-related. If it began after updating WordPress or a plugin, the cause likely involves WordPress configuration or plugin conflicts.
Use redirect checker tools to see the exact redirect chain. These tools show each redirect in sequence, revealing whether the loop involves HTTP/HTTPS, www/non-www, or specific URL paths.
Check one potential cause at a time. Disable plugins to rule out plugin conflicts. Temporarily rename .htaccess to bypass server redirect rules. Check CDN settings if using a CDN. Systematic checking finds the culprit faster than changing multiple things at once.
FAQs
No, redirect loops persist until you fix the underlying configuration issue. Temporary fixes like clearing cache might seem to resolve it, but the loop returns unless you correct the server, CDN, or WordPress configuration causing it.
Page-specific redirect loops indicate that redirect rules target specific URL patterns. Check for redirect rules in .htaccess, plugins, or CDN settings that only apply to certain paths. The rule creating the loop likely has conditions that match only those specific URLs.
Not by itself, but it creates the conditions for loops. If both protocols are accessible and redirect rules try to force one protocol while other settings expect the other, loops occur. Best practice is to redirect all HTTP traffic to HTTPS with a single, clear redirect rule.
No, different browsers display different messages. Chrome shows “ERR_TOO_MANY_REDIRECTS,” Firefox says “The page isn’t redirecting properly,” and Safari displays “Too many redirects occurred.” They all indicate the same problem: an infinite redirect loop.