Anfänger: Permalinks mit jeder HTML Seite?
Thomas M.
- html
Hallo!
Bei Wordpress und Co kann man ja bequem "pretty permalinks" aktiveren. Nun frage ich mich aber, kann man das auch mit normalem HTML machen?
Als Beispiel nehmen wir mal die nicht vorhandene Seite: ab.de/index.html.
Könnte man daraus folgendes machen: ab.de/homepage ? Also aus dem index.html wird der Titel der Seite, der mal ganz plakativ "homepage" heißt.
Anderes Beispiel: aus ab.de/index.html soll ab.de/hallo werden.
Oder geht so etwas nicht?
Viele Grüße und danke für jeden Tipp,
Thomas
hi,
Anderes Beispiel: aus ab.de/index.html soll ab.de/hallo werden.
Oder geht so etwas nicht?
Gehen kann das glaub ich nicht, aber man kann es zum laufen bringen, mit mod_rewrite und .htaccess, natürlich nur, wenn das auf deinem Server aktiviert ist.
RewriteEngine on
RewriteRule ^(/hallo)$ /index.html
Wenn du jetzt
ab.de/hallo aufrufst erscheint eigentlich ab.de/index.html, in der Adresszeile steht ab.de/hallo.
grüße
Moin!
Bei Wordpress und Co kann man ja bequem "pretty permalinks" aktiveren. Nun frage ich mich aber, kann man das auch mit normalem HTML machen?
Permalinks sind Links, die dauerhaft statisch zur gleichen Darstellung führen, obwohl die Webseite eine dynamische Applikation ist.
Bei "ganz normalem HTML" gibts aber keine Dynamik. Also ist jeder Link ein Permalink, und zwar ganz automatisch.
Als Beispiel nehmen wir mal die nicht vorhandene Seite: ab.de/index.html.
Könnte man daraus folgendes machen: ab.de/homepage ? Also aus dem index.html wird der Titel der Seite, der mal ganz plakativ "homepage" heißt.
Nenne die Seite einfach nicht "index.html", sondern "homepage", und schon hast du, was du willst.
Allerdings: Der Webserver entnimmt dem Dateinamen oft diverse Metainformationen. Sieht er die Endung ".html", so sendet er daraufhin in den HTTP-Headern den Mimetyp "text/html". Sieht er die Endung ".de", so wählt er diese Datei, wenn der Browser eine deutsche Sprachversion anfordert. Sieht er die Endung ".utf8", so sendet er die Encoding-Information "UTF-8" mit. Eine Datei kann auch mehrere Endungen haben, um Effekte zu mischen. Grundlage dieses Verhaltens sind diverse Module beispielsweise des Apache-Webservers, u.a. mod_mime, mod_negotioation,...
Zusätzlich kommt noch der Effekt zum tragen, dass der Dateiname "index.html" bei fast allen Webservern als Standarddatei verwendet wird, wenn überhaupt kein Dateiname angegeben wurde, sondern nur das nackte Verzeichnis. Das müßte also auch noch umgestellt werden (beim Apache "DirectoryIndex" passend setzen).
In der URL müssen die Endungen allerdings nicht auftauchen. Dazu könnte man das Modul mod_negotiation passend konfigurieren und dabei auf den größten Teil der Funktionalität verzichten, bzw. sich schon genauer damit beschäftigen, was damit alles genau gemacht wird.
Alternativ wäre einfach das Standardverhalten des Webservers beim Senden von endungslosen Dateien so anzupassen, dass alle HTTP-Header passend gesendet werden.
- Sven Rautenberg