Blog Sections Open
Translating YAMS URL Rewrite Rules for IIS7
A practical rewrite note for multilingual Evolution CMS sites running YAMS on IIS7 instead of Apache.
YAMS setups are often documented with Apache-style rewrite rules, but that leaves Windows-hosted projects with an extra translation step. On IIS7, the core idea is still the same: map language prefixes to the correct request path before Evolution CMS handles the page.
Typical Apache pattern
RewriteRule ^en$ en/ [R=301,L]
RewriteRule ^ru$ ru/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^en/(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^ru/(.*)$ index.php?q=$1 [L,QSA]
What must survive on IIS7
- Language root URLs should normalize cleanly.
- Existing files and manager/assets paths must bypass rewriting.
- The language prefix should be removed before Evo parses the final document request.
The important part is not the syntax itself but the behavior. If the IIS7 rules preserve those three responsibilities, YAMS can behave just as predictably as it does on Apache.
For multilingual Evo installations, always test both the language root and deep document URLs after converting rewrite rules. Prefix routing errors often show up only on inner pages.
Preprocessing TV Values Before Saving a Resource
How to modify or normalize TV values before an Evolution CMS resource is saved, instead of cleaning them up later in templates.
Using catalogFill to Update Existing Products Instead of Duplicating Them
How to configure catalogFill imports so existing Evolution CMS products are matched and updated correctly instead of being recreated on every run.