Blog Sections Open
Fixing 301 Redirects That Append `?q=` in Evolution CMS
Why some 301 redirects turn into `new-page.html?q=old-page.html` and how to normalize the rule.
Manual redirects inside an Evolution CMS project can behave strangely when Apache rewrite rules and the CMS routing layer both try to interpret the request. One classic symptom is a redirect that should be clean but ends up producing something like new-page.html?q=old-page.html.
That happens because the old request path is being fed back into the routing logic instead of being discarded cleanly. The fix is usually to write the rewrite rule in a way that performs the external redirect and terminates the rewrite chain without letting the old path leak into the new request.
A safe pattern is to redirect explicitly to the full target URL and clear the query-string tail when needed. In practical terms, it means testing the redirect outside the CMS first, then verifying that Evolution’s own friendly URL rules are not reprocessing the already-redirected path.
This is a good reminder that redirect issues in Evolution CMS are often not “content problems”, but interactions between hand-written .htaccess logic and the legacy routing mechanism.
Preventing evoSearch Memory Exhaustion on Large Evolution CMS Sites
Why evoSearch can exhaust memory on large sites and what to review before search traffic turns into a stability problem.
Fixing “Could Not Instantiate Mail Function” in Evolution CMS eForm
What to check when eForm throws a “Could not instantiate mail function” error even though the site itself still appears healthy.