URLs ohne .html suffix ausgeben

So konfigurierst du Contao 3, damit URLs ohne .html suffix ausgeben werden. Eine Anleitung für Contao 4 findest du hier.

Zusammenfassung der nötigen Schritte

1. Backend Einstellungen
Contao Backend > System > Einstellungen > URL-Suffix
Hier das Feld komplett leer machen. Auch kein Leerzeichen

2. htaccess bearbeiten
Bei ca. Zeile 270 den Eintrag wie folgt anpassen und ergänzen:
Am besten ersetzt du deinen Eintrag mit diesem.

# Note that not all environments support mod_rewrite and mod_cache.
  ##
  RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|gz)$
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule .* index.php [L]

Wichtiger Hinweis

Wenn du diese Änderung bei einer bestehenden Website durchführst, dann solltest du unbedingt eine 301-Weiterleitung auf die neuen URLs einrichten, sonst gehen wichtige Rankings bei Google verloren!

Dafür in der .htaccess nach RewriteBase / folgende 2 Zeilen zusätzlich hinzufügen:

# Depending on your server, you might have to remove the line entirely.
##
RewriteBase /
  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.html$ $1 [L,R=301]
Tutorial getestet mit Contao:
  • 3.5
Hat dir dieser Artikel gefallen?

Willst du in Zukunft keinen Artikel verpassen?
Dann trage hier deine E-Mailadresse ein und klicke auf "Abonnieren". Du erhältst regelmäßig aktuelle Infos über Contao und die Contao-Academy.

Wir geben deine Daten niemals an Dritte weiter! Du kannst deine E-Mailadresse jederzeit mit nur 1 Klick wieder aus unserem System löschen. Datenschutzhinweis

Über den Autor
Christian Feneberg (Gründer Fenepedia)

Christian Feneberg ist der Gründer der Contao-Academy und nutzt seit 2010 Contao. Neben Contao begeistert er sich für Online-Marketing, Unternehmertum und Persönlichkeitsentwicklung.

Folge Christian jetzt auf Twitter, Facebook, Instagram und Xing.

3 Kommentare

1stof8 |

Hallo Christian,
sag mal geht das auch mit Contao4 und wenn ja wie?

Christian Feneberg Antwort von Christian Feneberg

Bei Contao 4 läuft das etwas anders. Dazu musst du die Datei /app/config/config.yml bearbeiten und den optionalen Eintrag url_suffix anpassen.

siehe dazu: https://github.com/contao/core-bundle/blob/master/README.md#installation

Markus |

Hallo Christian,
hast du für uns eine Tipp wie man bei deiner Lösung die "/index" auf "http://www.deinedomain.de" umleiten kann. Bei mir ist die Startseite auch unter "http://www.deinedomain.de/index" aufrufbar.
Das gleiche gilt auch für die "index.php" was für SEO drei URLs darstellt.
Vielen Dank
Markus

Christian Feneberg Antwort von Christian Feneberg

Hallo Markus,

normal sollten die URLs von Google nicht indexiert werden, da diese URLs eigentlich nicht verlinkt werden.
Die URL mit /index könntest du noch in der .htaccess umleiten (redirect 301 /index http://meinedomain.de). Bei der index.php geht das nicht.

Leider fällt mir dazu sonst auch nichts ein. Evtl. mal noch im Forum nachfragen.

Artur |

Hallo Christian,
gibt es eine Lösung um verschiedenen Seiten (andere Domains), die über ein Contao 4 Backend gepflegt werden, auch pro Domain verschiedene URL Suffixe zu vergeben? Also z.B. den Seiten unter der Domain xyz.de das URL Suffix .html und einer anderen Seite (andere Domain aber gleiches Contao 4 Backend) das URL Suffix ohne .html sondern /(Slash)? Geht das auch über die config.yml? Wenn ja, wie? Kannst Du weiterhelfen?

Christian Feneberg Antwort von Christian Feneberg

Hallo Artur,

leider kann ich dir diese Frage nicht beantworten.
Aber du hast ja bereits auch schon auf GitHub ein Kommentar.

Vielleicht hat hier jemand von den Entwicklern eine Antwort, ob das geht.

Einen Kommentar schreiben

Bitte addieren Sie 5 und 5.