<?php
switch ($lang)
{
case 'de' :
include("navi.txt");
}
?>
Jaja, man kann's auch fürchterlich kompliziert machen.. Mach es doch bitte gleich vernünftig:
1. Menü aus der index.html rausnehmen und in eine Datei menu.html kopieren. Datei menu.html (erstmal) in's Hauptverzeichnis packen.
2. In der index.html an der Stelle, wo das Menü eingebunden werden soll
<!--# include virtual="/menu" -->
einsetzen (ja, ohne .html am Ende und mit / vornedran).
3. Datei .htaccess im Hauptverzeichnis einrichten mit dem Inhalt
Options +Multiviews +Includes
4. index.html in index.shtml umbenennen.
Das sollte funktionieren, auch wenn Du kein PHP hast. Die Option Server Side Includes (kurz: SSI) ist im Gegensatz zu PHP auf den meisten Servern aktiviert.
Der Witz an der Sache:
Du kannst Deine Dateien jetzt auch ohne Endungen aufrufen, also zum Beispiel statt "blabla.de/index.html" "blabla.de/index". Du kannst in all Deinen <a>s und <img>s die Endungen rausnehmen (etwa <a href="neues"> statt <a href="neues.html">).
Sowas ist dann von Vorteil, wenn Du mal die Dateiendungen ändern möchtest, zum Beispiel weil Du von einfachen HTML-Dateien (.html) auf SSI-erweiterte HTML-Dateien umsteigst (.shtml).. Oder falls Du irgendwann Deine Seiten um PHP erweitern möchtest (.php am Ende). Oder Deine Grafiken von GIF auf PNG umstellst. Oder, oder, oder..
In all diesen Fällen -und es kommt bei den Massen an Seiten öfters vor, als Dir lieb ist, glaub mir- brauchst Du Dich nicht mehr um die Adressen zu kümmern, die Du überall verstreut hast: sei es in den HTML-Seiten selber (die man noch mit viel Fleiß alle von Hand ändern könnte), in Suchmaschinen (die wenigstens von alleine alle paar Wochen vorbeikommen) oder den Lesezeichen der Benutzer (auf die Du keinen Zugriff hast und Du dementsprechend lauter böse Briefe bekommst, nur weil die Dateiendung sich geändert hat..).
Witz Nummer zwei:
In dem PHP-Code vcn denni oben soll wohl eine Sprache ausgewählt werden. Das ist da IMHO reichlich fehl am Platze, weil diese Spracheinstellung schon in _jedem_ Browser vorhanden ist und auch hier der Webserver automatisch, ohne Dein Zutun, die richtige Datei wählen kann.
Falls Du also zum Beispiel ein englisches und ein deutsches Menü anbieten willst (und Deutsch als Standard), erstellst Du einfach zwei Dateien:
menu.html Deutscher Inhalt, Standard
menu.html.en Englischer Inhalt
Beim Aufruf der Datei "menu" wird der Server dann, entsprechend der Angaben des Nutzers, entweder die englische Version oder die deutsche Standardversion liefern.
Sieht vielleicht auf den ersten Blick etwas aufwendig aus, ist es aber nicht. Für die Menüeinbindung sind es nur die vier Schritte oben und beim Rest: lediglich nach und nach in <a> und <img> die Endungen rausnehmen, muß ja nicht alles auf einmal sein.
Mehr Infos in der Apache-Anleitung:
Zu SSI:
http://httpd.apache.org/docs/howto/ssi.html
http://httpd.apache.org/docs/mod/mod_include.html
Zum "Weglassen-der-Dateiendungen":
http://httpd.apache.org/docs/mod/mod_negotiation.html
Gruß,
soenk.e