Blog Sections Open

Fixing YAMS "Too Many Forward Attempts" Errors in Evolution CMS

A routing loop in YAMS often shows up as a 404 followed by a "Too many forward attempts" message.

One of the more frustrating multilingual errors in legacy Evolution CMS projects is this combination:

ERROR: Too many forward attempts!
The request could not be completed due to too many unsuccessful forward attempts.

In the original report the site was running YAMS 1.1.9 on MODX/Evolution 1.0.12. The visible symptom looked like a broken page or a strange 404, but the real cause was almost always a redirect or routing loop between language resolution and the final document lookup.

What usually causes it

  • language prefixes resolve to a resource that immediately redirects again
  • YAMS rules and strict URL logic disagree about the canonical URL
  • container pages or fallback documents point back into the same language negotiation path
  • a missing resource causes a 404 that is itself translated or redirected incorrectly

How to debug it

Start with one language only and confirm that the resource resolves without YAMS side effects. Then add the language layer back step by step:

  • check the requested URL before YAMS touches it
  • confirm which document ID YAMS tries to resolve
  • verify that the 404 page is not re-entering the same language logic
  • disable extra redirect plugins until the loop disappears

Why this matters

These loops are easy to misread as a simple 404 problem. In practice they are usually a canonicalization problem: the project has more than one way to describe the same language-specific URL, and the stack keeps forwarding instead of finishing the request.

The stable fix is not to add yet another redirect. It is to reduce ambiguity: one language prefix strategy, one canonical URL format, one 404 flow, and no secondary plugin trying to rewrite the same path again.

Newer post

When title and H1 Should Not Be the Same

Why the browser title and the visible H1 heading should often differ in Evolution CMS, especially on editorial and SEO-heavy pages.

Older post

Why AjaxSearch Can Trigger Too Many Redirects

A practical look at AjaxSearch setups that fall into redirect loops, especially when homepage or excluded-document logic is involved.