Blog Sections Open

Normalizing `.html` and Trailing-Slash URLs in Evolution CMS

How to clean up mixed `.html` and trailing-slash URL variants so Evolution CMS serves one stable canonical path.

Evolution CMS projects often inherit URL rules from several stages of a site’s life. The result is familiar: some pages end with .html, some resolve with a trailing slash, and some start throwing 404s after a “small” .htaccess tweak.

The right approach is not to stack more rewrites blindly, but to decide which public URL format is canonical and normalize everything else to it. That includes:

  • the host variant, such as www vs non-www;
  • the presence or absence of .html;
  • the presence or absence of a trailing slash.

The original discussion showed how easy it is to add one rewrite rule that seems harmless and accidentally send valid paths into 404 territory. That usually happens when a slash-removal rule runs before the rest of the Evolution routing logic has had a chance to resolve the request correctly.

For production sites, keep rewrite changes incremental, test managers and nested pages separately, and verify that the canonical format matches internal links, sitemap output, and SEO expectations.

A stable URL strategy is less about “clean syntax” and more about predictable routing under real traffic.

Newer post

Using Last-Modified and 304 Responses in Evolution CMS

How to add Last-Modified headers and conditional 304 responses in Evolution CMS without breaking content freshness.

Older post

Why phpThumb Cache Image Folders Keep Reappearing in Evolution CMS

What it means when cache image folders keep showing up under assets/cache/images and when that behavior is normal.