How to Fix the Too Many Redirects Error Message

You might have come over 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 happens in a loop, the browser or the webserver will try to break the loop, and return you the error page. A loop meaning 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 a redirect of, 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 down in this article.

Redirect loops caused by Cloudflare SSL/TLS

If you are using Cloudflare with self-signed certificates 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
 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 log in credentials should be an email that get sent when creating a site/database.
Then navigate to the table where the base/home URLs is stored.

In WordPress this is stored at table 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 of 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 settings

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

If you can’t fix it, contact us in the chat!

Give us your feedback on this article