Jürg Zimmermann: Verzeichnis-Listing mit auto_index

Hallo zusammen,

ich möchte auch meiner Site berechtigten Usern gewisse auf dem Internet-Filer abgelegte Dokumente zugänglich machen. Ich als Lösung etwas von auto_index aufgeschnappt...

Ich bin absolut kein Profi auf diesem Gebiet, habe aber probiert mich im Netz schlau zu machen... Folgendes habe ich bis jetzt gemacht:

  • den Zugriff auf die Seite okintern.htm Passwort geschützt
  • Im Verzeichnis, in dem die Dateien liegen, eine Datei ".htaccess" angelegt
  • In diesem Datei steht "DirectoryIndex index.html"

Nun bin ich aber langsam mit meinem Latein am Ende. Eigentlich möchte ich nun auf der Seite okintern.htm die Dateien sehen, oder dann wenigstens von dort aus einfach dahin gelangen.

Was muss ich noch beachten?

Vielen Dank für eure Hilfe!

Gruss
Jürg

  1. hallo,

    • den Zugriff auf die Seite okintern.htm Passwort geschützt

    Wie hast du das gemacht?

    • Im Verzeichnis, in dem die Dateien liegen, eine Datei ".htaccess" angelegt
    • In diesem Datei steht "DirectoryIndex index.html"
      Nun bin ich aber langsam mit meinem Latein am Ende.

    Dabei ist das Vorgehen durchaus in Ordnung, allerdings solltest du wissen, was es bewirkt. Es kommt nämlich vermutlich genau das Gegenteil von dem heraus, was du eigentlich wolltest. Solange in dem entsprechenden Verzeichnis jetzt keine Datei "index.html" liegt, solltest du nämlich eine Fehlermeldung (Error 404) erhalten.

    Eigentlich möchte ich nun auf der Seite okintern.htm die Dateien sehen, oder dann wenigstens von dort aus einfach dahin gelangen.

    Ich weiß nicht, was auf deiner Seite "okintern.htm" steht. "Auf dieser Seite" kannst du sowieso keine anderen Dateien sehen, aber sie kann natürlich Links zu anderen Dateien enthalten.

    Wenn du nun möchtest, daß man beim Aufruf deines Verzeichnisses - etwa über http://www.deineseite.de/verzeichnisname - ein "Listing" der vorhandenen Inhalte angeboten bekommt, so _darf_ in diesem Verzeichnis keine Datei "index.htm" oder "index.html" liegen, und dann ist deine schnucklige .htaccess auch völlig falsch.

    Was muss ich noch beachten?

    Eventuell solltest du dich mit deinem Hoster in Verbindung setzen. Im Zusammenhang mit .htacces gibt es zwei Fragen, die du klären solltest:

    • ist .htaccess überhaupt zugelassen?
    • ist mod_autoindex überhaupt geladen (das kannst du aber eventuell über phpinfo() selbst herausfinden)?

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hallo Christoph!

      Wie hast du das gemacht?

      Ich habe die bestehende .htacces-Datei (ist nicht die gleiche Datei, die ich ins Verzeichnis gelegt habe) ergänzt:
      </Files>
      <Files okintern.htm>
       require user xy
      </Files>

      Dabei ist das Vorgehen durchaus in Ordnung, allerdings solltest du wissen, was es bewirkt. Es kommt nämlich vermutlich genau das Gegenteil von dem heraus, was du eigentlich wolltest. Solange in dem entsprechenden Verzeichnis jetzt keine Datei "index.html" liegt, solltest du nämlich eine Fehlermeldung (Error 404) erhalten.

      Zurzeit liegt hat keine .html-Datei in diesem Verzeichnis. Habe schon probiert mit einer index.htm. Leider ohne Erfolg

      Ich weiß nicht, was auf deiner Seite "okintern.htm" steht.

      Nur ein wenig Text steht dort. Probierte von dort aus einen Link auf die index.htm, bez. direkt das Verzeichnis zu legen. Kam jedoch Error 404

      »»"Auf dieser Seite" kannst du sowieso keine anderen Dateien sehen, aber sie kann natürlich Links zu anderen Dateien enthalten.

      Wenn du nun möchtest, daß man beim Aufruf deines Verzeichnisses - etwa über http://www.deineseite.de/verzeichnisname - ein "Listing" der vorhandenen Inhalte angeboten bekommt, so _darf_ in diesem Verzeichnis keine Datei "index.htm" oder "index.html" liegen, und dann ist deine schnucklige .htaccess auch völlig falsch.

      Ja, ich möchte entweder direkt über die Navigation auf die Dateien kommen (passwortgeschützt), oder dann mittels Link ab einer htm-Seite. Momentan liegt aber zumindest noch die .htacces-Datei dort. Wie kann ich dann sonst einen geschützten Zugriff realisieren?

      Eventuell solltest du dich mit deinem Hoster in Verbindung setzen. Im Zusammenhang mit .htacces gibt es zwei Fragen, die du klären solltest:

      • ist .htaccess überhaupt zugelassen?

      Ja, ich brauche es u.a. für die passwortgeschützten Zugriffe.

      • ist mod_autoindex überhaupt geladen (das kannst du aber eventuell über phpinfo() selbst herausfinden)?

      Der Provider hat mir auto_index vorgeschlagen. Sollte daher schon geladen sein.

      Gruss aus Bern
      Jürg

      1. hallo,

        Wie hast du das gemacht?
        Ich habe die bestehende .htacces-Datei (ist nicht die gleiche Datei, die ich ins Verzeichnis gelegt habe) ergänzt:
        </Files>
        <Files okintern.htm>
        require user xy
        </Files>

        äh ... so geht das wohl nicht. Wie das mit dem Paßwortschutz in einer .htaccess geht, steht aber ziemlich ausführlich in SELFHTML. Aber noch eine kleine Nachfrage: wenn das nicht "die gleiche" Datei ist, die du ins Verzeichnis gelegt hast, was für eine ist es dann?

        Zurzeit liegt hat keine .html-Datei in diesem Verzeichnis. Habe schon probiert mit einer index.htm. Leider ohne Erfolg

        Ja, weil du "index.html" als Bedingung formuliert hast, und nicht "index.htm" - beachte bitte die Dateinamensendungen.

        Nur ein wenig Text steht dort. Probierte von dort aus einen Link auf die index.htm, bez. direkt das Verzeichnis zu legen. Kam jedoch Error 404

        Wenn es keine solche Datei mit diesem Namen gibt, muß diese Fehlermeldung kommen. Sie muß ebenfalls kommen, wenn in deiner .htaccess eben "index.html" (beachte bitte die Dateinamensendung) als Bedingung formuliert wurde.

        ich möchte entweder direkt über die Navigation auf die Dateien kommen (passwortgeschützt), oder dann mittels Link ab einer htm-Seite. Momentan liegt aber zumindest noch die .htacces-Datei dort. Wie kann ich dann sonst einen geschützten Zugriff realisieren?

        Der Weg, den du eingeschlagen hast, ist prinzipiell richtig. Da liegen offenbar bloß noch ein paar Stolpersteine herum.

        • ist .htaccess überhaupt zugelassen?
          Ja, ich brauche es u.a. für die passwortgeschützten Zugriffe.

        Ob du es brauchst, ist irrelevant. Dein Hoster muß dir bestätigen, daß du es auf diesem Server überhaupt benutzen darfst.

        • ist mod_autoindex überhaupt geladen (das kannst du aber eventuell über phpinfo() selbst herausfinden)?
          Der Provider hat mir auto_index vorgeschlagen. Sollte daher schon geladen sein.

        Jetzt bitte sehr genau in der Schreibweise: "auto_index" ist irgendwas, was ich nicht definieren kann. Hat dir dein Hoster wirklich mitgeteilt, daß du "mod_autoindex" als geladen voraussetzen darfst?

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hallo,

          Wie hast du das gemacht?
          Ich habe die bestehende .htacces-Datei (ist nicht die gleiche Datei, die ich ins Verzeichnis gelegt habe) ergänzt:
          </Files>
          <Files okintern.htm>
          require user xy
          </Files>

          äh ... so geht das wohl nicht. Wie das mit dem Paßwortschutz in einer .htaccess geht, steht aber ziemlich ausführlich in SELFHTML. Aber noch eine kleine Nachfrage: wenn das nicht "die gleiche" Datei ist, die du ins Verzeichnis gelegt hast, was für eine ist es dann?

          Der Passwortschutz funktioniert. (siehe http://www.mghabstetten.ch/okintern.htm)
          Im ersten .htaccess sind die passwortgeschützten Seiten definiert mit Verweis auf die access.pwd. Das zweite .htaccess ist dasjenige, das im Verzeichnis liegt, das ich sehen möchte.

          Zurzeit liegt hat keine .html-Datei in diesem Verzeichnis. Habe schon probiert mit einer index.htm. Leider ohne Erfolg

          Ja, weil du "index.html" als Bedingung formuliert hast, und nicht "index.htm" - beachte bitte die Dateinamensendungen.

          Gemacht, danke!

          Nur ein wenig Text steht dort. Probierte von dort aus einen Link auf die index.htm, bez. direkt das Verzeichnis zu legen. Kam jedoch Error 404

          Wenn es keine solche Datei mit diesem Namen gibt, muß diese Fehlermeldung kommen. Sie muß ebenfalls kommen, wenn in deiner .htaccess eben "index.html" (beachte bitte die Dateinamensendung) als Bedingung formuliert wurde.

          Jetzt gibt es eine solche Datei und die Endung stimmt. Resultat bleibt aber gleich...

          ich möchte entweder direkt über die Navigation auf die Dateien kommen (passwortgeschützt), oder dann mittels Link ab einer htm-Seite. Momentan liegt aber zumindest noch die .htacces-Datei dort. Wie kann ich dann sonst einen geschützten Zugriff realisieren?

          Der Weg, den du eingeschlagen hast, ist prinzipiell richtig. Da liegen offenbar bloß noch ein paar Stolpersteine herum.

          Hmm, das schein so...

          • ist .htaccess überhaupt zugelassen?
            Ja, ich brauche es u.a. für die passwortgeschützten Zugriffe.

          Ob du es brauchst, ist irrelevant. Dein Hoster muß dir bestätigen, daß du es auf diesem Server überhaupt benutzen darfst.

          OK, ich ändere meine Formulierung ;-) Ich VERWENDE htaccess bereits für den Passwortschutz.

          • ist mod_autoindex überhaupt geladen (das kannst du aber eventuell über phpinfo() selbst herausfinden)?
            Der Provider hat mir auto_index vorgeschlagen. Sollte daher schon geladen sein.

          Jetzt bitte sehr genau in der Schreibweise: "auto_index" ist irgendwas, was ich nicht definieren kann. Hat dir dein Hoster wirklich mitgeteilt, daß du "mod_autoindex" als geladen voraussetzen darfst?

          Zitat Hoster: "Am einfachsten verwenden Sie die auto_index Funktion des Webservers." Ich muss in diesem Fall aber wohl nochmals konkret nachfragen.

          Gruss
          Jürg