Für Contao, Joomla und andere Content Management Systeme gibt es unterschiedliche Methoden, um suchmaschinen-optimierte URLs zu generieren (die genaue Benennung dieser Option unterscheidet sich je nach CMS):
- vereinfacht: „/index.php/aktuelles.html“
Alle Anfragen gehen an die reguläre index.php, an die dann die eigentliche URL angehangen wird. Dies funktioniert in 99,9% aller Situationen, allerdings bleibt „index.php“ als Teil der URL dauerhaft erhalten. - Mittels mod_rewrite: „/aktuelles.html“
Hier muss per RewriteRule-Anweisung in der „.htaccess“-Datei hinterlegt werden, damit so gebildete URLs auch weiterhin an die index.php geleitet werden.
Wird nun von der ersten Methode auf die zweite Methode umgestellt, kann es passieren, dass das CMS die „alten“ bisherigen URLs nicht mehr erkennt und lediglich 404-„Seite nicht gefunden“ zeigt.
Damit nun alle „alten“ Anfragen weiterhin funktionieren, kann der Webserver per RewriteRule angewiesen werden, alle Anfragen in der alten Form auf die neue weiterzuleiten:
RewriteRule ^index\.php(/.*\.html) $1 [R=301,L]
Diese Umleitung greift nur für Anfragen, die auf „.html“ enden sowie tatsächlich an die index.php übergeben werden. Je nach CMS bzw. bisherigen URLs (Joomla verwendet teilweise „/aktuelles/“, ohne einen Dateinamen anzuhängen) muss diese Regel noch angepasst werden.