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.
Table of contents
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, www.example.com
to example.com
. 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.
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:
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
These defines should, if set, usually both be set to the https://yourdomain.com
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!