You have most likely seen this error message before:
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 you have noticed this page in the browser:
This error occurs when a website redirects you in a loop. The browser or web server will break the loop and display an error page in such cases. A redirect loop means that URL A
redirects to URL B
, which then redirects back to URL A
, creating an endless cycle.
Common Causes of Redirect Loops
Conflicting Redirects
Redirect loops can occur due to there somewhere in your code, files, or settings, there is more than one redirect command that conflicts with the other. A usual mistake is redirecting www.example.com
to example.com
, but somewhere else it says the opposite, this will create a redirect loop.
HTTP to HTTPS Redirect Loops
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, which are easy to fix – we’ll discuss them in this article.
How to Fix Redirect Loops
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.
WordPress Configuration Files
.htaccess File
Check your .htaccess
file in the public/
directory of your website. A default WordPress .htaccess
file should look 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
wp-config.php File
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
Database URL Settings
You can also check your base/home URLs in the database. Go to your Admin Panel, and under the database tab, you can find a link to phpMyAdmin.
The login credentials to your database can be found in an email sent to the Bolt owner when creating a site/database. Alternatively, these credentials can be found in your database configuration file. For WordPress, this configuration file is typically located in the following file path: ~/public/wp-config.php
When you are logged in, 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
Deactivating 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. The 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 log in to your WordPress backend, go to your plugins, and activate them one by one until you find the plugin that was causing the issue.
Servebolt Admin Panel Settings
In the Servebolt Admin Panel:
- Check the redirect settings for your site.
- Ensure all redirects point to the same HTTPS domain.
- Verify there are no conflicts between HTTP/HTTPS and www/non-www URLs.
The “Too Many Redirects” error is typically caused by conflicting redirect settings or improper configurations. You can resolve most redirect loops by checking and adjusting your Cloudflare SSL/TLS settings, WordPress configuration files, database URL settings, and plugins. Always ensure consistency in your URL redirects and seek help from Servebolt support if needed. Following these steps will help you identify and fix the root cause, ensuring your website runs smoothly without redirect errors.