Mit anderen Worten: Es gibt überhaupt keinen Grund, auf die Dateiendung zu verzichten.
Ich sehe keinen Grund für Dateiendungen, das ist der Grund zum Verzicht.
Es würden also mehrere URLs für unter allen Umständen ein- und dieselbe Ressource existieren, und das gefällt mir nicht, da ich die Adressierung eindeutig halten will.
Diesen Zustand hast du so oder so. Mit Redirects von endungshaltigen URLs auf endungslose URLs machst du einen ganzen Satz zusätzlicher URLs gültig - auch wenn die nur einen permanenten Redirect auslösen.
Sicherlich ist die URL gültig im Sinne von zielführend und verwendbar (ich bezeifle aber, dass das ein Kriterium ist, denn alle URLs sollten in dem Sinne zielführend und verwendbar sein, sei es auch 410 Gone usw.), aber nicht gültig im Sinne von aktuell und »richtig«. Eine permanente Weiterleitung heißt meinem Verständnis nach, dass die alte URL obsolet ist (nun gut, in diesem Fall waren die endungshaltigen nie die »richtigen«, von Migration von endungshaltigen zu endungslosen URLs abgesehen).
Die korrekte Antwort für eine nichtexistente URL wäre 404. Dann hast du Eindeutigkeit, nämlich ausschließlich ".html".
Das wäre wirklich eine Idee, ich würde es allerdings anders herum lösen. Für mich ist dies in Form einer allgemeinen Rewrite-Regel (mache alle .html-Dateien nur endungslos zugänglich und gebe in allen anderen Fällen 404) dennoch nicht praktikabel, da ich .html durchaus in Einzelfällen einsetze, etwa um .html von .xhtml nach außen sichtbar zu unterscheiden oder Bereiche der Sites mit Endungen zu versehen, damit sie exakt einer herunterladbaren Offline-Version entsprechen. Da müsste ich wieder Ausnahmen in die Regeln einbauen und Listen von Dateien verwalten, die umgeschrieben werden müssen oder nicht dürfen. Ob ich da mit verschiedenen .htaccess-Dateien arbeiten will, die sich gegenseitig aufheben, kann ich noch nicht abschätzen, daher lässt mir die inkonsequente Lösung möglicherweise in Zukunft nötigen Spielraum.
Du willst also eine vernünftige URL-Struktur mit der Möglichkeit, kurze, direkte URLs nutzen zu können?
Lass die Endung ".html" an allen URLs dran. Ändere die Endung ".php" in ".html" um (in den URLs, nicht in den Dateinamen - umbiegen mit mod_rewrite). Schon hast du Einheitlichkeit: HTML-Seiten enden auf .html, JPEG-Bilder auf .jpg, etc...
Prinzipiell sehe ich kein Problem darin, nur den hauptsächlichen Inhaltsträgern, deren URL nach außen hin sichtbar ist, die Endung zu nehmen. Das ist bei Hypertext wohl meist HTML, bei Bildern als Hauptinhalt vermittelt auch immer HTML. Alles andere Interaktive arbeitet nicht mit dem Konzept einzeln adressierbarer Dokumente. Daher wäre es zumindest in der Inkonsequenz konsequent, dass nur (möglicherweise generierte) HTML-Dokumente endungslos erreichbar sind. Anders gesagt wüsste ich nicht, was die bedingungslose Einheitlichkeit, also ganz oder gar nicht, für einen Vorteil bringt, wenn möglichst eindeutige Konventionen bestehen.
Und wenn du kurze, prägnante URLs haben willst, kannst du ja immer noch Kurzlinks definieren, die auf die längere Location redirecten. Oder als einzeln definierter Alias denselben Inhalt direkt ausliefern.
Möchte ich nicht, das würde mein Bestreben nach Eindeutigkeit wieder untergraben. Da versuche ich die Adresse lieber anders zu verkürzen.
Ich glaube aber nicht, dass das Weglassen von Dateiendungen irgendwie mehr Klarheit oder Einsparung in der Tipparbeit bringt. Denn wenn du keine Endung verwendest, benutzt du ein ungewöhnliches URL-Schema.
Von der Seite der Gewohnheit aus mag das eingeschränkt zutreffen. Ich sehe aber nicht als einzig normativ an.
Einerseits sind Benutzer durchaus gewohnt, am Ende auch mal ".html" zu tippen.
Sie sagen ihnen aber nichts, sie erkennen diese Zeichenkette nicht als den Ressourcentyp anzeigenden Suffix, genauso wenig wie sie .php, .pl, .cgi usw. als Endungen von Ressourcen identifizieren, die in der Regel denselben Typ wie .html haben bzw. potenziell haben können.
Wer nicht weiß, was .html bedeutet, wird es als Nullinformation auffassen und wird nur eine Häufigkeit von URLs mit .html am Ende haben bemerken, die für ihn nichts bedeutet, eben weil es die Konvention, dass alle text/html-Ressourcen einheitlich .html in der Adresse haben, nicht gibt (und ich bin ferner nicht der Meinung, dass man diese durchsetzen sollte, allerdings sollten .pl, .cgi, .php, .py usw. wirklich vermieden werden).
Ich sehe keinen Vorteil darin, dass für den Großteil der Besucher nicht-sprechende Zeichenketten Teil von Adressen sind (das heißt nicht, dass ich .webdokument, .grafik, .formatvorlage, .videofilm oder .musikstueck sonderlich besser finde, aber es würde zumindest einen Zweck erfüllen).
Andererseits werden deine Unterseiten mutmaßlich sowieso nicht durch "tippen" der URL aufgerufen, sondern überwiegend durch Verfolgen von Links (auf deinen eigenen oder den Seiten anderer, z.B. in Suchmaschinen), Aufrufen von Bookmarks bzw. Nutzen der automatischen URL-Ergänzung des Browsers.
Das sehe ich anders, ich für meinen Teil kenne viele Adressen auswendig und tippe sie schneller ein, als ich sie in meinen Bookmarks über die Schnellsuche gefunden habe.
Ohne Endung schaffst du die Verwirrung zwischen Verzeichnissen und Seitennamen.
Da sehe ich kein großes Problempotenzial, da es für diejenigen, die die Bestandteile einer URL verstehen, sehr wohl erkennbar ist, dass es sich nicht um ein Verzeichnis handelt. Die anderen sind m.E. nicht sehr verunsichert, wenn sie auf eine URL ohne Endung stoßen, vor allem wenn sie sich ab dem letzten Slash aus erkennbaren Wörtern zusammensetzt, die höchstens durch »-« getrennt sind.
Diejenigen, die Verzeichnisse prinzipiell ohne abschließendes »/« aufrufen und somit, wenn auch unbewusst, andauernd der Fehlererkennung der Server vertrauen, sollten vielleicht ab und zu der Adressleiste entnehmen, wie die richtige URLs lautet. Schließlich wird extern und permanent weitergeleitet, sodass ihnen Verzeichnisse fast im kompletten WWW ausschließlich mit »/« am Ende begegnen.
Natürlich lässt sich auch hier der DAU konstruieren, der nicht weiß, dass es sich um Verzeichnisse handelt und sich nie darüber Gedanken gemacht hat, dass eine URL einen Pfad zu einer bestimmten Datei in einer Hierarchie abbildet. Aber der darf die Konzepte »Verzeichnis« und »Datei« nicht einmal ansatzweise verstehen, also, das ist wirklich konstruiert.
Diejenigen, die solchen URLs beim Eintippen einen Schrägstrich anfügen, weil sie irrtümlich annehmen, es handle sich um ein Verzeichnis, halte ich für vernachlässigbar, weil ich mir nicht vorstellen kann, dass jemand, der weiß, wie sich Dateien und Verzeichnisse in der URL konstituieren, ein Einzeldokument mit einem Verzeichnis verwechseln, wenn er weiß, dass die URL ein Einzeldokument ist. Und das weiß er höchstwahrscheinlich, wenn er die URL aus dem Kopf direkt eintippt.
Beide Szenarien des Eintippens sind wie gesagt schon an sich selten.
Außerdem ließen sich solche Seiten nicht einfach so abspeichern und lokal nutzen, weil die Endung fehlt.
Gibt es dazu empirische Untersuchungen, in wie weit das wirklich ein Problem ist?