Index.php vs index.html

Guten Tag,
meine index.php startet nicht wenn eine index.html vorhanden ist. hatte mal gelesen das .php vorangig abgearbeitet wird, klappt aber nicht. so leite ich in der index.html auf die index.php um. sieht aber sehr tollpatschig aus. kann mir jemand den trick verraten?
danke im vorraus.

Wenn du die sowiso nur umleitest, warum löscht du die index.html nicht einfach?

Die Reihenfolge kannst du nur ändern, wenn es dir vom Server-Betreiber aus gestattet ist, die Konfiguration des Webservers zu verändern. Wenn z.B. ein Apache verwendet wird, ist die Reihenfolge im Bereich DirectoryIndex ausschlaggebend. Wenn hier:

DirectoryIndex index.html index.php steht, wird erst nach der index.html, danach nach .php geschaut. Ist die index.html vorhanden, wird diese ausgegeben, ansonsten wird nach der nächsten Möglichkeit (index.php) gesucht. usw. Wenn du nun also willst, dass die index.php zuerst angezeigt wird, muss entweder die Reihenfolge hier geändert werden oder du löscht einfach die index.html, wenn sie ohnehin keinen weiteren Nutzen hat, als die Weiterleitung zur PHP-Datei.

Wenn ohne index.html keine Anzeige erfolgt, fehlt der Eintrag für index.php im oben genannten Abschnitt.

danke für die reaktion.

die index.html kann ich nicht löschen weil viele seiten seit 1995 irgendwo im cache liegen und darauf verweisen, wenn nicht mehr da, einen fehler produzieren.

wie kann ich auf die DirectoryIndex zugreifen?? bzw. wo hat die sich versteckt??

Entweder ändert man die Konfiguration des Webservers direkt, wobei das nur bei eigenen Server funktioniert (ein Webhoster wird einem nie Zugriff auf die Konfiguration gewähren) oder man versucht es über eine .htaccess-Datei zu verändern.

Das hier sollte dir weiterhelfen: http://www.luwi.de/web/server.shtml

danke mrniceguy,

sieht aus, als ob ich mit dem webhoster reden muss.
da kann man lange suchen…

Tcha, leider schalten auch nicht alle die Möglichkeit von .htaccess-Dateien frei bzw. geben einem die Möglichkeit darüber eben das DirectoryIndex zu ändern. Man kann von der Server-Seite aus so ziemlich alles erlauben oder eben auch sperren, dann ist man immer ein bisschen aufgeschmissen.

Allerdings frage ich mich, ob vielleicht mod_rewrite in der .htaccess erlaubt ist, dann könnte man eine Bedingung einführen, die bei versuchtem Zugriff auf index.html eine Weiterleitung auf die index.php ausführt und gleichzeitig dem Client meldet, dass die Datei index.html dauerhaft gelöscht wurde bzw. die Weiterleitung permanent ist. Dann sollten die Clients in absehbarer Zeit bereits keine Verlinkung auf die index.html mehr haben.

Der HTTP-Code für eine dauerhafte Weiterleitung (Redirect) ist 301. Eine Weiterleitung nach Zugriff auf die index.html erreichst du mit folgendem Inhalt in der .htaccess (sofern mod_rewrite gestattet ist, das ist aber immerhin wahrscheinlicher, als DirectoryIndex):

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^index.html$ /index.php [R=301,L]

jupiiiiii
der DirectoryIndex funzt doch. war mein fehler.

bin immer so ungeduldig und gebe zu schnell auf. danke, dass du nochmal geantwortest hast.