Zum Inhalt springen

Dateiendung .htm statt .html in Typo3/ simulate static , alias , RealURL

Erstellt am 1. August 2005 · 5 Antworten · letzte Antwort am 2. September 2008

Tags: RealURL, URLs & Routing, Frage

SimonFE ·

Man könnte meinen , eine einfache Frage: Was ist zu tun, damit Typo3 selbst Typo3-Seiten mit Dateiendung .htm verlinkt und nicht per .html ?

.html-Seiten lassen sich ja bekanntlicherweise per simulateStatic erzeugen, soweit kein Problem (z.B. 37.0.html bzw. per config.simulateStaticDocuments_noTypeIfNoTitle = 1 in der TS-Setup 37.html ), dank Alias zu schoener-Dateiname.html oder per Extension AliasPro etwa zu /etwas/bessere-und-laengere-dateinamen-gehen-auch.html. Soweit also wunderbar.
.htm-Seiten lassen sich dank .htaccess - RewriteRule ^[^/]*\.htm$ index.php aufrufen, soweit auch kein Problem. (also z.B. per Direktaufruf domain.de/etwas/bessere-und-laengere-dateinamen-gehen-auch.htm)
Aber wie komm ich an die File-Extension / den Suffix .html den Typo3 bei der Verlinkung dann automatisch verwendet ?

Die RealURL Extension hilft offensichtlich auch nicht weiter. Man kann mit der RealURL Extension zwar so ziemlich alles machen, aber die Pfade / Seitenaufrufe enden entweder mit "/" oder mit html (defaultToHTMLsuffixOnPrev=1), wobei der Direktaufruf der Datei nicht das Problem ist (die htaccess funktioniert ja auch hier für .htm), aber die automatische Verlinkung die Typo3 setzt ist eben weiterhin mit der Dateiendung .html.
Mit RealURL funktioniert zwar eine Verlinkung eines konkreten Dateinamens also z.B. auch blabla.htm das dann auch Typo3 so umsetzt, allerdings wird die Datei dann nur per Redirect aufgerufen (redirect header). Das ist für Suchmaschinen nicht gerade ideal.

Gibt es also eine Lösung, dass Typo3 die Typo3-Seiten mit der Dateiendung .htm aufruft ???

Da Typo3 auf einer Seite eingesetzt werden soll, auf der bisher eben ausschließlich Dateien mit der Dateiendung .htm zu finden waren, ist das - wiederum wegen den Suchmaschinen- ein extrem wichtiger Punkt (ein 301 Redirect in der htaccess ist nicht so toll). Ich befürchte meine Frage ist so kompliziert gestellt dass sich keiner zu antworten traut :-( aber die Hoffnung stirbt zuletzt :-) ).

Vielen Dank schon mal an alle die sich dazu Gedanken machen und vielleicht eine Idee haben.

Gruß
Simon

woida ·

Schau doch mal in die PHP-Dateien von realurl rein:
class.tx_realurl.php:

$pathParts[] = ereg_replace('.html$','',$this->filePart);

(Zeile 705)

$newUrl = substr($newUrl,0,-1).'.html';

(Zeile 242)

SimonFE ·

:p #giggle# 😃 Super ! Vielen Dank WOIDA,

ich hatte bisher in der REALURL Extension immer die class.tx_realurl_advanced.php eingbunden, und da war nichts passendes zu finden , mit der class.tx_realurl.php klappts mit den Änderungen wie von Dir beschrieben wunderbar !

Vielen Dank nochmals
Gruß
Simon

SimonFE ·

Als Dank an die Community will ich gleich noch eine andere Lösung präsentieren rund um das Thema Dateinamen / Seitennamen.

Typo3 wandelt ja alle Buchstaben in Dateinamen automatisch in Kleinbuchstaben um.
Damit Typo3 dies nicht macht, insbesondere wenn man Typo3 auf einer bereits existierenden Präsenz einsetzt und die Dateinamen exakt 1:1 übernommen werden sollen, kann man folgendermassen vorgehen:

für die RealURL-Extension:
in der Datei class.tx_realurl.php (in typo3conf/ext/realurl) :
$newAliasValue = strtolower($newAliasValue); // ändern in:
$newAliasValue = $newAliasValue; // oder diese Zeile ganz weglassen

bei
$TCA["pages"]["columns"]["alias"]["config"]["eval"]="nospace,alphanum_x,lower,unique";
das lower entfernen
also
$TCA["pages"]["columns"]["alias"]["config"]["eval"]="nospace,alphanum_x,unique";

ich habe diese Änderung $TCA -Änderung einfach in der Datei ext_tables.php der Extension alias32 eingebaut.

karl1611 ·

Hallo,

| html <=> htm

ich möchte mich an das geschilderte Problem anhängen.

Allerdings soll SimulateStatic und AliasPro verwendet werden.

Bei mir geht es auch darum eine bestehende Präsenz, bei der '.htm' verwendet wird auf Typo3 zu portieren.

TIA
Karl

adino ·

Hallo,

ich möchte mich der Frage von "karl1611" anschliessen. Wir haben dasselbe Problem.

Wie kann SimulateStatic so konfiguriert/umgebaut werden, dass es statt html htm-Files ausgibt?

Danke und Gruß - Adino