Blog Sections Open

Adding 301 Redirects Safely in an Evolution CMS .htaccess File

Manual 301 redirects are easy to add in theory and easy to break in practice. The original question here came from an Evolution site where several old URLs had to redirect into new friendly routes after a structural chan

Manual 301 redirects are easy to add in theory and easy to break in practice. The original question here came from an Evolution site where several old URLs had to redirect into new friendly routes after a structural change.

Typical Redirects

RewriteRule ^Mezhdunarodnye_gruzoperevozki$ /nashi-uslugi/mezhdunarodnye-gruzoperevozki [R=301,L]
RewriteRule ^avtoperevozki_po_rossii$ /nashi-uslugi/perevozki_po_rossii [R=301,L]

Main Rule

Just like other custom rewrites, manual redirects should be placed before the generic Evolution catch-all rule. Specific redirects must run first, otherwise the request is routed into the CMS before Apache has a chance to issue the redirect.

Good Practice

  • write one clear redirect per old URL
  • avoid mixing Redirect and RewriteRule styles randomly
  • test both with and without trailing slashes
  • re-check canonical behavior after deployment

Migration redirects are part of SEO hygiene. They should be explicit, predictable, and placed in the correct order inside .htaccess.

Newer post

Keeping Ditto Summary Output Clean When introtext Contains HTML

How to think about summary generation when Ditto output is built from fields that already contain HTML markup.

Older post

Why PHP Sessions Can Overload a Busy Evolution CMS Site

How session-heavy traffic can push CPU usage up on a VDS and what to review before blaming snippets alone.