vMief: [APACHE2] Standartseite (Verzeichnisliste) ändern

Hallo Leute,
ich habe eine Frage zu dem Webserver Apache2:

Aktueller Zustand:
Wenn es in einem Verzeichnis keine index.php, index.html oder index.htm Datei gibt, wird standardmäßig eine Übersicht über die Dateien und Ordner angezeigt. Das will ich auch nicht direkt abschalten.

Was ich gerne hätte:
Diese "Verzeichnisüberischtsseite" würde ich gerne gegen eine eigene austauschen. Aktuell muss ich noch in jedes Verzeichnis eine index.php rein kopieren, die dann die entsprechende Datei includiert. Geht das vielleicht auch einfacher?

  1. @@vMief:

    nuqneH

    Was ich gerne hätte:
    Diese "Verzeichnisüberischtsseite" würde ich gerne gegen eine eigene austauschen.

    Du suchst [link:http://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex@title=DirectoryIndex]?

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Du suchst [link:http://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex@title=DirectoryIndex]?

      Qapla'

      Das funktioniert fast, ich habe das jetzt so gemacht:

        
      DirectoryIndex /index.php  
      
      

      Das funktioniert auch soweit, allerdings glaubt PHP jetzt auch, ich wäre immer DocumentRoot Verzeichnis und nicht in einem Unterverzeichnis. Muss ich jetzt meinen PHP-Code so abändern, dass es wieder funktioniert, oder kann man Apache irgendwie so Konfigurieren, das PHP nicht immer das Verzeichnis der index.php nimmt, sondern das Verzeichnis aus der Adresszeile des Browsers?

      1. @@vMief:

        nuqneH

        Das funktioniert fast, ich habe das jetzt so gemacht:
        DirectoryIndex /index.php
        Das funktioniert auch soweit, allerdings glaubt PHP jetzt auch, ich wäre immer DocumentRoot Verzeichnis und nicht in einem Unterverzeichnis.

        Bist du ja auch, wenn du immer die index.php aus deinem Webroot-Verzeichnnis aufrufst. Ist es das, was du willst?

        Muss ich jetzt meinen PHP-Code so abändern, dass es wieder funktioniert,

        Was ist „es“?

        oder kann man Apache irgendwie so Konfigurieren, das PHP nicht immer das Verzeichnis der index.php nimmt, sondern das Verzeichnis aus der Adresszeile des Browsers?

        Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.

          Qapla'

          Damit habe ich es jetzt auch gelöst, ich hatte nur gedacht, dass es eine Möglichkeit gibt, dass der Apache so tut, als wäre er nicht im DocumentRoot, sondern in dem Verzeichnis aus der Adresszeile. Aber egal, es geht ja jetzt.

          1. Hi,

            Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.
            Damit habe ich es jetzt auch gelöst

            nein, nicht gelöst - du hast ein Sekundärproblem gelöst, das du dir selbst erst gemacht hast.

            ich hatte nur gedacht, dass es eine Möglichkeit gibt, dass der Apache so tut, als wäre er nicht im DocumentRoot, sondern in dem Verzeichnis aus der Adresszeile.

            Er geht generell von dem Verzeichnis aus, das auch angesprochen wurde. Aber indem du /index.php absolut angibst, schickst du ihn explizit ins DocumentRoot. Das solltest du bleiben lassen. Adressiere stattdessen relativ.

            Ciao,
             Martin

            --
            In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
              (Dieter Nuhr, deutscher Kabarettist)
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. @@Der Martin:

              nuqneH

              Er geht generell von dem Verzeichnis aus, das auch angesprochen wurde. Aber indem du /index.php absolut angibst, schickst du ihn explizit ins DocumentRoot.

              Wie ich vMief jetzt(!) verstanden habe, soll das so. Weil das Script nur einmal vorhanden sein soll – aber dennoch auf das Verzeichnis zugreifen soll, von dem aus es ursprünglich aufgerufen wurde.

              Qapla'

              --
              „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
              1. Hallo,

                Er geht generell von dem Verzeichnis aus, das auch angesprochen wurde. Aber indem du /index.php absolut angibst, schickst du ihn explizit ins DocumentRoot.
                Wie ich vMief jetzt(!) verstanden habe, soll das so. Weil das Script nur einmal vorhanden sein soll – aber dennoch auf das Verzeichnis zugreifen soll, von dem aus es ursprünglich aufgerufen wurde.

                oh, den Aspekt habe ich wohl auch übersehen ...
                Tatsächlich, so könnte es sein. Dann ist dein Ansatz über REQUEST_URI natürlich zielführender.

                Ciao,
                 Martin

                --
                Der Sinn einer Behörde besteht in ihrer Existenz.
                  (alte Beamtenweisheit)
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              2. Wie ich vMief jetzt(!) verstanden habe, soll das so. Weil das Script nur einmal vorhanden sein soll – aber dennoch auf das Verzeichnis zugreifen soll, von dem aus es ursprünglich aufgerufen wurde.

                Qapla'

                Genau das habe ich gemeint. Entschuldigung, wenn ich mich unklar ausgedrückt habe.

        2. Hi,

          Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.

          Das würde ich aber noch gegen directory traversal absichern wollen …

          MfG ChrisB

          --
          Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
          1. Hi,

            Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.

            Das würde ich aber noch gegen directory traversal absichern wollen …

            MfG ChrisB

            So wie das aussehen soll/ausssieht, muss man sich darüber keine Sorgen machen.

          2. Hello,

            Wenn das PHP-Script läuft, hat der Apache schon sein Werk getan. In PHP steht dir $_SERVER['REQUEST_URI'] zur Verfügung.

            Das würde ich aber noch gegen directory traversal absichern wollen …

            Wie wäre es denn stattdessen mit einem Rewrite-Regelwerk und $_SERVER['REDIRECT_URL']?

            Und dann kommen wir leider automatisch wieder zu der Diskussion mit Status 404 und Soft-404...

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            Die ultimative Seite für Selbermacher