(Kommentare: 2)

Contao: URL mit UND ohne Suffix (.html) erreichbar machen

Wer aus Gründen der Benutzerfreundlichkeit seine Contao-Webseite sowohl mit (www.beispiel.de/seite.html), als auch ohne Suffix (www.beispiel.de/seite) erreichbar haben möchte, wobei die Standard-Einstellung die Anzeige MIT dem Suffix ist, der erreicht dies durch folgende Schritte:

  1. Im Contao-Backend unter "Einstellungen" den Haken bei "URLs umschreiben" setzen
  2. Im Root-Verzeichnis die ".htaccess"-Datei aktivieren (".htaccess.default" in ".htaccess" umbenennen)
  3. In der .htaccess gegebenenfalls die Rewrite-Base anpassen
  4. In der .htaccess folgende Zeile aktivieren (Raute "#" VOR der Zeile entfernen):

RewriteRule .* index.php [L]     # No URL suffix


UPDATE 17.02.2013:

Die obige Lösung hat sich leider nur für Contao 2.10.x bewährt – mit Contao Version 2.11.x führt für uns nun folgender Eintrag in die .htaccess zum Erfolg:

RewriteRule ^([^./]+)$ /$1.html [L,R=301]

Hier wird zugleich, durch die Umleitung ohne Suffix auf die URL mit Suffix (.html), ein "301 permanent Redirect" (eine dauerhafte Weiterleitung) für die Suchmaschinen ausgegeben um "Duplicate Content" zu vermeiden.

URLs umschreiben aktivieren

Zurück

Einen Kommentar schreiben

Kommentar von koopoo |

Das hat leider nicht gereicht, um URLs ohne Suffix zu erlangen.
So bin ich glücklicher Weise darauf gestoßen:
https://github.com/contao/core/issues/4031
Hier:
https://github.com/contao/core/issues/4031#issuecomment-4286018
... Beim Anpassen der .htaccess-Datei muss man auf mehr achten, als nur das Suffix zu löschen. Ich habe den Code optimiert, um die Anzahl der Abfragen möglichst gering zu halten. Wenn man ohne Suffix arbeiten möchte, muss man den Code entsprechend anpassen. Folgendes könnte klappen:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

anstatt

RewriteRule .*\.html$ index.php [L]

Gegebenenfalls auch

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

Hier führen aber mehrere Lösungen zum Ziel und es bleibt dem jeweiligen Webmaster überlassen, welche er verwendet.

Antwort von H. Dierßen

Du hast Recht, die Lösung des obigen Eintrages funktioniert nur bis einschließlich Contao Version 2.10.x
Deine Lösung haben wir getestet, hat uns in diesem Fall aber nicht weitergeholfen. Ein Lösungsweg, wie es auch unter Contao 2.11.x funktioniert steht nun im oben beschriebenen Update. 

Kommentar von Andreas |

Danke. In Contao4 hat sich dieses Verhalten geändert:
https://github.com/contao/core-bundle/issues/629