Hallo,
ich habe folgendes problem. ich möchte gerne die links, die typo3 ausgibt (index.php?id=18-), auf die endung .htm umstelllen, da die statischen seiten vorher auf diese endung lauteten und daher auch so in den suchmaschinen plaziert sind.
ich habe folgende .htaccess auf den server geladen:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]*.html$ index.php
das funktioniert zwar, aber leider werden die dateien mit der endung .html angezeigt. habe in der zeile rewriteRule das html auf htm geändert, aber wenn ich auf der seite einen link anklicke, gibt er als endung trotzdem .html an.
muss ich da noch irgendwas in typo3 angeben?
gruss
christian
Schau dir die deutsche Typo3-Dokumentation an! Da ist alles beschrieben!
hi,
nach dieser dokumentation habe ich es ja auch gemacht, klappt ja auch wunderbar.
aber mein problem ist, statt der endung startseite.html, möchte ich dass startseite.htm angezeigt wird, dass klappt irgendwie nicht richtig.
Und was ist an .htm besser? Ich mag das ganz und gar nicht #paralyzed# Wieder so ein Zeug, das von MS eingeführt wurde...
hi,
eigentlich ist da gar nichts besser 😃
es ist so, die seiten bestehen bereits als dateien mit der endung htm, sind auch so in den suchmaschinen aufgenommen.
nun sollen die seiten in typo3 übernommen werden, und wegen den suchmaschinen sollten die seiten natürlich wieder den gleichen namen haben.
gruss
christian
Hallo,
Funktioniert mit folgender Variante mit Änderungen direkt im Quelltext, ist aber auch nicht in einer Live-Umgebung getestet:
Version 3.7.0:
Datei typo3/sysext/cms/tslib/class.tslib_fe.php
Zeile 558 (ca.) ersetzen durch
if (!$fI['path'] && $fI['file'] && ((substr($fI['file'],-5)=='.html') || (substr($fI['file'],-4)=='.htm'))) {
Ebenfalls muss in der htaccess noch durch die Datei .htm ergänzt werden, so dass auch .htm-Datei in die index.php aufgelöst werden.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]*.html$ index.php
RewriteRule ^[^/]*.htm$ index.php
Diese Variante ist aber nicht besonders schön. URLs werden dann weiterhin mit .html erzeugt - .htm-Dateien werden lediglich interpretiert.
Ggf. bessere Variante:
Eine Datei mittels htmToHtml.php ersetzt in einem String die Zeichenkette ".htm" durch ".html" und macht dann auf diese neue URL ein Redirect.
RewriteRule ^[^/]*.htm$ htmToHtml.php
Wie auch immer: Der Effekt ist in beiden Fällen gleich, letzte Variante nur wesendlich problemloser. Bestehende Links in Suchmaschinen werden weiterhin aufgelöst und zusätzlich langfristig durch die neue ersetzt.
hey, danke für die schnelle antwort 😃 😃 😃
das hat ja super geklappt