Beitrag wurde zuletzt am aktualisiert

Weiterleitung: Dateiendung .html entfernen

Weiterleitung .html-DateiendungWeiterleitung .html-Dateiendung

Per RewriteRule .html aus der URL löschen – so wird’s gemacht

Ich hatte früher hier im Blog WordPress so konfiguriert, dass stets die Dateiendung .html am Ende einer URL auftauchte. Über die Permalink-Einstellungen ist das bei WP binnen weniger Sekunden so eingerichtet und ich fand das damals schick.

Viele ältere statische Internetseiten lassen sich auch heute noch mit .html oder .htm im Netz finden. Das ist alles nicht schlimm und man kann dies natürlich so belassen. Doch bei der Migration auf ein aktuelles CMS wie WordPress, Typo3 oder ein modernes Shop-System kommt meist der Wunsch nach einer kurzen Adresse auf und ohne einer überflüssigen Endung auf.

Aus /mein-artikel.html soll /mein-artikel/ werden!

Über eine entsprechende mod_rewrite-Regel ist das schnell erledigt. Da dies sicher der eine oder andere von euch auch gebrauchen kann, kommt hier in aller Kürze die entsprechende Anweisung. Diese entweder in der vHost-Konfiguration des Webservers ablegen oder eine (ggf. bereits bestehende) .htaccess-Datei dahingehend erweitern.

Ich gehe davon aus, dass euer Webhoster mod_rewrite unterstützt. Sollte Standard sein! Aber es existieren leider doch noch ein paar Uralt-Hostingpakte, die das vielleicht nicht enthalten. Dann solltet ihr dringend über einen Anbieterwechsel nachdenken bzw. beim Support nachhaken.

Die Weiterleitungsregel

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)\.html$ /$1/ [R=301,L]

Hier wird prinzipiell nichts weiter gemacht als „geschaut“, dass ein Aufruf einer URL, die am Ende ($) .html enthält, an den gleichnamigen Pfad ($1) ohne Dateiendung und mit einem abschließenden Slash (/) am Ende per Statuscode 301 (R=301) weiter geleitet wird.

Status 301 (also permanent) deshalb, weil die neue Adresse jetzt ständig unter der endungsfreien URL erreichbar sein wird. Damit bekommen die Webbrowser, Proxys und Suchmaschinen-Crawler den entsprechenden Hinweis darauf, dass die alte Adresse nicht mehr verwendet wird und die Inhalte nun dauerhaft unter der neuen „Anschrift“ abrufbar sind.

In der 2. Zeile findet eine Prüfung statt, ob es zufällig ein Verzeichnis gibt, das den aufgerufenen Namen hat. In der 3. Zeile wird geprüft, ob eine entsprechende .html-Datei überhaupt existiert. Diese beiden Zeilen dienen eher der Vollständigkeit halber.

Für Fragen und Hinweise einfach die Kommentar hier unterhalb des Artikels nutzen!

2 Kommentare zu "Weiterleitung: Dateiendung .html entfernen"

  1. Das funktioniert leider nicht mehr, und auch wenn ich an diese Seite hier .html anhänge wird nicht weitergeleitet sondern eine 404 geliefert.
    Hast du dafür schon eine andere Lösung?

  2. die Anweisung muss fehlerhaft sein.
    Fehlt ier nicht ein Slash nach dem .de ?

    RewriteRule ^(.*)\.html$ https://www.redirect301.de$1/ [R=301,L]

Hinterlasse einen Kommentar

E-Mail Adresse wird nicht veröffentlicht.