Blog Sections Open

Fixing Endless 301 Redirects on Multilingual URLs After a Server Move

How to troubleshoot language-switch redirects that loop forever on the language root while deeper URLs still open normally.

A multilingual site that redirects forever on /en/ but works on /en/news is telling you something important: the language-switch logic and the rewrite layer disagree about the root route.

That mismatch often appears after a move to another server, where different rewrite behavior or context-switch handling exposes a rule that was always fragile.

What to inspect

  • the language-switch plugin or context-switch code,
  • the order of rewrite rules in .htaccess,
  • how the root language URL is mapped versus nested pages,
  • whether the request parameter used for switching is being cleared correctly.

If a deeper page loads and only the language root loops, the core content is probably fine. The real bug is the entry redirect logic for the context root.

These redirect loops are usually solved by making the context switch happen once, then letting the final URL resolve naturally instead of forcing a second redirect layer onto the language root.

Newer post

Understanding the “System Files Were Modified” Warning After Moving a Site

What the configuration warning really means after a migration and how to tell a harmless path mismatch from a risky file change.

Older post

Fixing TV Values That Reset After Updating Evolution CMS

Why some multi-select and checkbox TVs can start clearing themselves after an update and what to verify before saving more content.