Tiago Sampaio

main ai engineering career

engineering

4 min read

Fix Magento 2 ERR_TOO_MANY_REDIRECTS: Step-by-Step Guide

image.png — 1024 × 768

You fire up your local Magento 2 installation, excited to get some work done, and… BAM! Instead of your store, you’re met with an endless “Too Many Redirects” error. Your browser keeps bouncing back and forth between URLs like a confused courier, and your site just won’t load. Frustrating, right?

This issue is surprisingly common in local Magento environments, especially if you’re using custom domains, HTTPS, or a misconfigured web server. Magento relies heavily on proper URL handling, and a small misconfiguration can send it spiraling into an infinite redirection loop.

But fear not! 🦸‍♂️ In this blog post, we’ll break down exactly why this happens and guide you through the step-by-step fixes to get your local Magento back to working order. No more infinite loops, just smooth sailing! 🚀

Let’s dive in and get your Magento back on track. 🛠️

Why Is This Happening?

The “Too Many Redirects” error is usually caused by a misconfiguration in your Magento base URLs, secure settings, or the way Magento detects HTTPS. Since Magento heavily relies on URL structure, incorrect settings can send your site into an infinite redirection loop between HTTP and HTTPS.

Some of the most common causes include:

  • Incorrect Base URLs (Your site might be forcing HTTP while your browser expects HTTPS)
  • Misconfigured web/secure/offloader_header Setting (Magento doesn’t recognize SSL from a reverse proxy)
  • Conflicting Apache/Nginx Rewrite Rules
  • Cookies or Cache Issues

Let’s fix this once and for all!

Step 1: Check and Correct Magento Base URLs

Your first stop should be to ensure that Magento’s base URLs are set correctly.

How to Check and Fix Your Base URLs

You can do this via the Magento CLI or directly in the database.

Method 1: Using Magento CLI

Run the following command to check your base URLs:

Shell
bin/magento config:show web/unsecure/base_url
bin/magento config:show web/secure/base_url

If the values are incorrect, update them:

Shell
bin/magento config:set web/unsecure/base_url http://mylocalmagento.test/
bin/magento config:set web/secure/base_url https://mylocalmagento.test/

Then, flush the cache:

Shell
bin/magento cache:flush

💡 Pro Tip: Make sure your local domain matches the one in your browser (e.g., http://localhost/ vs http://mylocalmagento.test/).

Method 2: Fixing via MySQL

If you can’t access the CLI, update the Magento database directly.

Run this SQL command:

SQL
UPDATE core_config_data 
SET value = 'http://mylocalmagento.test/' 
WHERE path = 'web/unsecure/base_url';

UPDATE core_config_data 
SET value = 'https://mylocalmagento.test/' 
WHERE path = 'web/secure/base_url';

DELETE FROM cache_config;

Then, restart your web server (Apache/Nginx) and clear the cache:

Shell
bin/magento cache:flush

Now, refresh your browser and check if the issue is resolved.

Step 2: Fix the Offloader Header (For HTTPS Issues)

If your local environment uses HTTPS through a reverse proxy (like Docker, Traefik, or Nginx), Magento might not be detecting it correctly. That’s where the offloader header comes in.

How to Set web/secure/offloader_header Properly

Run this command to set the correct header:

Shell
bin/magento config:set web/secure/offloader_header X-Forwarded-Proto

Then, flush the cache and restart your Magento instance:

Shell
bin/magento cache:flush

💡 Why is this important? If Magento doesn’t recognize SSL, it might keep redirecting between HTTP and HTTPS endlessly, causing the too many redirects error.

Step 3: Check and Fix Your Web Server Configuration

Your web server (Apache or Nginx) might have redirect rules conflicting with Magento’s settings. Let’s check them.

For Apache Users

Open your .htaccess file and check if there are duplicate redirect rules:

Apache
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

If your Magento base URL is already set to HTTPS, this rule may not be necessary—try commenting it out and restarting Apache:

Apache
# RewriteCond %{HTTPS} off
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Restart Apache:

Shell
sudo service apache2 restart

For Nginx Users

Open your Nginx configuration file (/etc/nginx/sites-available/default or similar) and check for duplicate redirect rules:

Nginx
server {
    listen 80;
    server_name mylocalmagento.test;
    return 301 https://$host$request_uri;
}

If Magento is already handling HTTPS, this extra redirect can cause a loop. Try disabling it and restarting Nginx:

Shell
sudo service nginx restart

Step 4: Clear Your Browser Cache and Cookies

Still seeing the “Too Many Redirects” error? Your browser might be caching old redirects.

Try this:

  • Open the site in incognito mode 🕵️‍♂️
  • Clear cookies and site data for your local Magento domain
  • Try a different browser

If the error disappears, it was a browser caching issue!

Step 5: Flush Magento Cache and Sessions

Magento caches URL redirects and session cookies. If all else fails, try this:

Shell
bin/magento cache:clean
bin/magento cache:flush
bin/magento indexer:reindex
rm -rf var/session/*
rm -rf var/cache/*
rm -rf var/generation/*
rm -rf pub/static/*

And restart your local server:

Shell
sudo service apache2 restart   # For Apache
sudo service nginx restart     # For Nginx

Now, reload your site. Did it work? High five! 🙌

Final Thoughts: Keep Your Local Magento Healthy!

If your Magento local installation ever decides to go into redirect loop madness, now you know how to bring it back to sanity. 🎉

✅ Check Base URLs
✅ Fix offloader_header Issues
✅ Review Apache/Nginx Redirects
✅ Clear Browser Cache & Magento Cache

This guide should help you resolve the “Too Many Redirects” error and prevent it from happening again. Got another Magento mystery? Drop a comment! 🚀

Written by

TS

Tiago Sampaio

Adobe Commerce & Magento 2 Expert

Senior developer with 15+ years building software. Writes practical fixes for Magento 2 and Adobe Commerce, and honest notes on growing as a developer.

$ git remote add inbox

Get new commits by email

New posts from both branches, engineering and career. No spam, unsubscribe any time.

One response to “Fix Magento 2 ERR_TOO_MANY_REDIRECTS: Step-by-Step Guide”

$ git notes show

  1. […] you read our last post, “Fix Magento 2 ERR_TOO_MANY_REDIRECTS: Step-by-Step Guide“, you know that one of the sneakiest culprits behind the dreaded “Too Many […]

Leave a Reply