HTTP Redirect Loop
An HTTP redirect loop (also called an infinite redirect or circular redirect) occurs when a URL redirects to another URL that redirects back to the original, creating an endless cycle. Browsers detect this after a number of redirects (usually 20) and display an ERR_TOO_MANY_REDIRECTS error. This is commonly caused by conflicting redirect rules between the web server, CMS, CDN, and load balancer.
Symptoms
- ERR_TOO_MANY_REDIRECTS in Chrome
- Browser showing "This page isn't working" with redirect error
- curl showing a chain of 301/302 redirects looping back
- Website completely inaccessible to all users
Common Causes
- Conflicting HTTP→HTTPS redirects between server and CDN/load balancer
- www to non-www redirect conflicting with non-www to www redirect
- CMS force-HTTPS setting combined with server-level redirect
- Redirect rule matching the target URL, creating a self-redirect
- CDN or proxy always connecting to origin via HTTP while server forces HTTPS
Step-by-Step Troubleshooting
- 1
Trace the redirect chain
Follow the redirect chain to identify where the loop occurs.
Use HTTP Headers → - 2
Check DNS configuration
Verify A records and CNAME records for both www and non-www versions.
Use DNS Records Dump → - 3
Check SSL certificate
Ensure SSL covers both www and non-www to prevent redirect issues.
Use SSL Certificate Check → - 4
Review server redirect rules
Check .htaccess, nginx config, or application-level redirect settings for conflicts.
- 5
Verify CDN/proxy settings
Ensure CDN connection mode (Full SSL vs Flexible SSL) matches server configuration.
Recommended Diagnostic Tools
Monitor Redirects
Detect redirect loops and broken redirect chains.

