Web & Performance

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. 1

    Trace the redirect chain

    Follow the redirect chain to identify where the loop occurs.

    Use HTTP Headers →
  2. 2

    Check DNS configuration

    Verify A records and CNAME records for both www and non-www versions.

    Use DNS Records Dump →
  3. 3

    Check SSL certificate

    Ensure SSL covers both www and non-www to prevent redirect issues.

    Use SSL Certificate Check →
  4. 4

    Review server redirect rules

    Check .htaccess, nginx config, or application-level redirect settings for conflicts.

  5. 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.

Frequently Asked Questions