T. Rox: index.html oder index.php als Startdatei

Hi,

meine Frage ist eher allgemeiner Natur. Da ich Webspace mit PHP-Anbindung habe, frage ich mich, ob alle gängigen Browser (Mozilla ab 3, Opera ab 3, IE ab 3, evtl. auch andere, Konqueror etc.) automatisch imstamde sind, die Datei index.php (oder besser index.php3 oder index.php4?) als Startseite zu erkennen (also die Seite, die als erste aufgerufen wird).
Ich gehe davon aus, dass index.html mit automatischer Weiterleitung auf index.php jeden Browser weiterleitet, und das möchte ich eigentlich nicht.

Dank im voraus

Torsten

  1. Hallo,

    das hängt von deinem server ab welche datei er als Startseite schickt, wenn der HTTP-Request sich praktisch nur auf ein Verzeichnis bezieht. Wenn der Server was sendet, sollte der Browser damit keine Probleme haben, solange die Seite nicht fehlerhaft ist...

    Odium

  2. Sali Torsten

    dies hängt nicht vom browser ab.

    die frage ist wie der server konfiguriert ist, wenn php unterstützt wird, kannste davon ausgehen das index.php geht.
    test es mal :-)

    mit gruss
    dongga

  3. Hi Thorsten,

    Ich gehe davon aus, dass index.html mit automatischer Weiterleitung auf index.php jeden Browser weiterleitet, und das möchte ich eigentlich nicht.

    Du solltest eine .htaccess anlegen mit dem Wert :

    DirectoryIndex index.php   (bzw. index.php3, ...)

    Eine index.html mit Weiterleitung benötigst Du dann auf keinen Fall mehr.

    Gruß,
    _Dirk

    1. DirectoryIndex index.php   (bzw. index.php3, ...)

      Man kann problemlos auch mehrere Dateien als DirectoryIndex festlegen, die erste vorhandene wird dann gewählt, siehe http://selfhtml.teamone.de/diverses/htaccess.htm#optionen. Diese Verfahrensweise ist sehr sinnvoll, wenn die Startdateien in den versch. Verzeichnissen unterschiedliche Namen haben.

    2. Ich gehe davon aus, dass index.html mit automatischer Weiterleitung auf index.php jeden Browser weiterleitet, und das möchte ich eigentlich nicht.

      Du solltest eine .htaccess anlegen mit dem Wert :

      DirectoryIndex index.php   (bzw. index.php3, ...)

      Naja, wenn der Server PHP unterstützt, kann man wohl erwarten, daß diese Einstellung auch schon so gesetzt ist, so daß ein weiterer Eingriff mit DirectoryIndex unnötig ist.

      Es sollte aber vielleicht eines angemerkt werden:
      Ein Verzeichnis hat grundsätzlich eine Standarddatei, die der Webserver ausliefert, wenn nur das Verzeichnis angesprochen wird (zum Beispiel http://selfhtml.teamone.de/). Eingestellt wird diese Datei (bzw. eine Liste an möglichen Dateien) mit der genannten DirectoryIndex-Anweisung.

      Deshalb kann und sollte man es aus Kompatibilitätsgründen auch tunlichst unterlassen, diese Standarddatei direkt anzusprechen. Im obigen Beispiel wäre der direkte Weg http://selfhtml.teamone.de/index.htm, das Ergebnis ist das gleiche, als wenn man http://selfhtml.teamone.de/ aufgerufen hätte.
      So ein direkter Zugriff ist a) wie oben gesehen vollkommen unnötig und b) wie T. Rox vielleicht feststellen mußte auch reichlich arbeitsaufwendig, falls man mal eine index.html durch index.php ersetzt und dann sämtliche Verweise entsprechend ändern muß..

      Gruß,
        soenk.e

      1. Aloha!

        Es sollte aber vielleicht eines angemerkt werden:
        Ein Verzeichnis hat grundsätzlich eine Standarddatei, die der Webserver ausliefert, wenn nur das Verzeichnis angesprochen wird (zum Beispiel http://selfhtml.teamone.de/). Eingestellt wird diese Datei (bzw. eine Liste an möglichen Dateien) mit der genannten DirectoryIndex-Anweisung.

        Nein, eine Standarddatei muss nicht definiert sein. Fehlt die Definition, _kann_ der Server stattdessen einen Directory-Index erstellen, wie man ihn kennt (wobei dieser noch wesentlich weitgehender konfigurierbar wäre, als landläufig bekannt ist).

        Im Zweifel kommt die Meldung "Directory Indexing not allowed" oder so (403 Forbidden kann auch möglich sein).

        Deshalb kann und sollte man es aus Kompatibilitätsgründen auch tunlichst unterlassen, diese Standarddatei direkt anzusprechen. Im obigen Beispiel wäre der direkte Weg http://selfhtml.teamone.de/index.htm, das Ergebnis ist das gleiche, als wenn man http://selfhtml.teamone.de/ aufgerufen hätte.
        So ein direkter Zugriff ist a) wie oben gesehen vollkommen unnötig und b) wie T. Rox vielleicht feststellen mußte auch reichlich arbeitsaufwendig, falls man mal eine index.html durch index.php ersetzt und dann sämtliche Verweise entsprechend ändern muß..

        Da sprichst du eine wichtige Sache an. Im Prinzip besteht eine wirklich gute URL aus einer Orts- und Contentbezeichnung und hat keinerlei Referenzen auf die Technik, mit der sie erstellt wurde. Das gilt sowohl für Hinweise auf serverseitige Techniken (*.php, *.pl,...) als auch für mögliche Datenformate (*.html, *.shtml, *.htm, *.xhtml). Diese Dinge können sich ja alle im Laufe der Zeit ändern Irgendwann ist HTML out - soll man dann alle Dateien umbenennen auf .xhtml? Irgendwann ist Perl out - dann alle Skripte nach *.c umbenennen?

        Ideal wäre:
        http://www.example.com/pfad/zur/seite

        Das greift auf eine Ressource "seite" im jeweiligen Pfad zu, wobei es für den Browser und dessen Benutzer vollkommen uninteressant ist, wie diese Seite technisch erstellt wurde. Hauptsache, der Browser versteht, was über die Leitung kommt.

        - Sven Rautenberg