How to Fix the Too Many Redirects Error Message

You might have come across this error:

AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Or maybe noticed this in the browser:

This happens because the site redirects you too many times. When redirects happen in a loop, the browser or the web server will try to break the loop and return you to the error page. A loop means that you try to go to A, where A sends you to B but B sends you back to A again, and so forth.

Why does this redirect loop happen?

This happens because somewhere in your code, files, or settings there are more than one redirect commands that conflict with each other. A usual mistake is redirecting to, but somewhere else it says the opposite, this will create a redirect loop.

A http to https redirect loop is also very common.

The most common issue is that http redirects to https and https then redirects back to http, causing the loop. There are several different common causes for this, that are easy to fix – which we discuss in this article.

Redirect loops caused by Cloudflare SSL/TLS

If you are using Cloudflare with the self-signed certificate option you need to make sure that SSL/TLS is set to Full in Cloudflare. Setting it either to Flexible or Full (strict) may then sometimes cause redirect loops.

SSL and TLS encryption settings in the Cloudflare Control Panel

WordPress .htaccess and wp-config.php

You can also check the .htaccess or wp-config.php file in the public/ directory of your website. A default WordPress .htaccess file looks like this:

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

And in the wp-config.php file you can check if you have one or both of these statements set:


These defines should, if set, usually both be set to the

Finding Redirects in the Database

Check your base/home URLs in the database as well. Go to your Control Panel and under the database tab you can find a link to phpMyAdmin.

The database login credentials should be an email that gets sent when creating a site/database.
Then navigate to the table where the base/home URLs are stored.

In WordPress, this is stored in the table called wp_options, and under option_name you will find the value siteurl and home.

You can also use WP-CLI with SSH by running this command in the ~/public directory.

# For site URL
wp option get siteurl

# For home URL
wp option get home

Deactivate plugins

A redirection loop may be a result of an active plugin on your site. If you are not able to login to your WordPress backend here is an alternative solution. It requires you to either login to your site using SFTP or SSH

Now that you are logged in, you can navigate to your wp-content folder, standard path is: ~/public/wp-content/

This is where you find the folder “plugins”, renaming the plugins folder will deactivate all plugins on your site. When that is done, refresh your website and see if that helped. If it did, then there is a plugin that is causing the redirection loop. To figure out which plugin it was you will need to login to your WordPress backend, go to your plugins, and activate one by one until you find the plugin that was causing the issue.

Go through all of the steps above and see if any of them conflict with each other. Either remove all the redirects or make sure every one of them redirects to the same URL. Look closely for differences in HTTP/HTTPS and www/ not-www URLs.

Check settings in the Servebolt Control Panel

To fix it you can try to look in the Control Panel under the settings of your site:

If you use both of these settings, make sure you use the same https domain.

If you can’t fix it, let us know in our support chat and we’ll have a look for you!