Fix .htaccess WPML language

In certain cases, the .htaccess may get overwritten with the language folder.

Author:David Garcia (profile at wordpress.org)
WordPress version required:4.9
WordPress version tested:6.3.2
Plugin version:1.0
Added to WordPress repository:30-10-2023
Last updated:30-10-2023
Rating, %:0
Rated by:0
Plugin URI:https://www.davidgarcia.es
Total downloads:110
Active installs:10+
plugin download
Click to start download

The problem actually comes from certain third-party plugins calling flush_rewrite_rules(true) function too often. This causes WordPress to overwrite .htaccess. However, in some cases, this happens so often, sometimes even on every page request, that it’s called while browsing the front-end in another language.

When this happens, WPML goes ahead and adds the language folder to home_url as usual. This, however, results with an incorrect RewriteBase in .htaccess and ends up breaking the front-end.

Additionally, you’ll get a 500 Internal Server Error error.

And this is what we’ll see in server logs:

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.


ChangeLog