Sven Rautenberg: Rewrite Rule: Umleitung von .html/.htm auf .php

Beitrag lesen

Aloha!

Wäre es nicht sinnvoller, den Dateien ihre Endung zu belassen, die dem Server sagt, durch welches Programm er die Dateien zu interpretieren hat, und mit mod_rewrite "normale" urls zu erzeugen (auf die auch verlinkt wird), z.B. so:
RewriteEngine On
RewriteRule ^page_(.*).html$ index.php?content=$1 [T=application/x-httpd-php,QSA]

Es ist sinnvoll, überhaupt keine Dateiendungen zu verwenden.

Derzeit ist HTML noch "in". Demnächst haben wir XHTML. Gemäß der Prämisse "Content-Type steht in der Dateiendung" müßte man dann alle URLs wieder umstellen, wenn man seine Seiten auf XHTML umstellt - und alle URLs ändern sich wieder.

Warum nicht einfach auf "http://www.example.com/index" verlinken, und dann den Server entscheiden lassen, welche der möglicherweise mehreren Index-Seiten er ausliefert? Dann kann man ganz einfach wahlweise index.html, index.xhtml oder index.php auf dem Server ablegen, und es wird mit Content-Negotiation immer die richtige Seite ausgeliefert. Das System läßt sich noch ausbauen, indem man auch .gz-Dateien (um komprimierte Dateiversionen auszuliefern) auf den Server packt, oder ".de", ".en" und ".ru"-Dateien, um mehrere Sprachversionen je nach Browsereinstellung auszuliefern.

Auf die Spitze getrieben:
index.de.html
index.de.html.gz
index.en.xhtml
index.en.html.gz
index.ru.php
index.ru.html.gz
-> Je nach Browser-Request wird die richtige Datei ausgeliefert. :)

- Sven Rautenberg