URLs mit oder ohne Querstrich am Ende

Bei einem Blick auf die Adressleiste des Browsers fällt auf, dass viele Blog- und Content-Management-Systeme die Webseiten an den Webbrowser ohne Dateiendung ausliefern, also ohne .html oder .php.

Nun kann es Fälle geben, wo Teile des Webauftritts, etwa ein Blog oder Newsbereich, über ein CMS laufen, daneben aber auch statische, von Hand erstellte Seiten existieren. Wir wollen nicht über den Sinn oder Unsinn solcher gemischten Umgebungen diskutieren – Gründe kann es verschiedene geben.

In einem anderen Artikel hatte ich schon darüber geschrieben, wie man die Anzeige der Dateiendungen unterdrückt. Das hat bei mir übrigens bei einem Webhoster funktioniert, bei einem anderen nicht.

Heute soll es darum gehen, wie man einen Schrägstrich am Ende des URL erzeugt oder entfernt (um die statischen Seiten in der Adresszeile des Browsers genauso aussehen zu lassen wie die durchs CMS erzeugten Seiten). Und das bewerkstelligt man dadurch, dass man folgenden Code in die Datei .htaccess (im Falle eines Apache-HTTP-Servers) einträgt:

Ohne Trailing-Slash:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

Mit Trailing-Slash:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

Quelle des Codes: Stack Overflow

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Mit Absenden dieses Kommentarformulars bestätigst du, dass du die Datenschutzerklärung gelesen hast und dich mit der Speicherung deiner Daten einverstanden erklärst. Deine Daten werden nur benötigt, um dich gegebenenfalls zwecks Beantwortung deiner Anfrage kontaktieren zu können, und werden weder an Dritte weitergegeben noch zu Werbezwecken missbraucht.


Torsten Kelsch