.htaccess versteckt Unterverzeichnisse

Alles, was den Apache betrifft, kann hier besprochen werden.

.htaccess versteckt Unterverzeichnisse

Postby Guest » 29. June 2003 02:43

Hallöchen Spezies.

Ich betreibe den Apache 2.0 unter WinXP. Läuft toll! Aber ich habe ein total unverständliches Problem:

Bei meinem Server ist Indexing eingeschaltet (http://gww.ximmi.de). Wer mal auf den Link geklickt hat, wird auch einen Index gesehen haben. Nun ist es aber so, dass weitere physikalische Unterverzeichnisse vorhanden sind, die im Index nicht auftauchen. (z. B. http://gww.ximmi.de/bart). Ich wiederhole: Dieses Verzeichnis ist ein physikalisches Unterverzeichnis - also kein Alias oder ähnliches.

Das Verzeichnis wird sofort sichtbar, sobald ich die .htaccess entferne oder die .htaccess-Unterstützung serverseitig ausschalte.

Kann mir jemand erklären, woran das liegt??? Ich habe nämlich die ganze Config durchforstet und bin auf keine Anweisung gestossen, dir mir dafür verantwortlich erscheint. Bin ich zu doof für diesen Apache?

Meine .htaccess sieht so aus:

Code: Select all
<Limit GET POST PUT>
   AuthType      Basic
   AuthName      "Basti Holly"
   AuthUserFile   c:\path\to\passwd
   Require      user xyz
</Limit>


Ich habe es auch schon so versucht, bringt aber keine Änderung:

Code: Select all
AuthType      Basic
AuthName      "Basti Holly"
AuthUserFile   c:\path\to\passwd
Require      user xyz
Guest
 

Postby Guest » 29. June 2003 10:39

Ich habe gerade bemerkt, dass dieses Posting hier wohl falsch aufgehoben ist. Vielleicht ist ja ein Moderator/Admin so freundlich und Verschiebt diesen Thread in das Apache-Grundlagenforum.

Danke!
Guest
 

Postby Oswald » 29. June 2003 13:16

Huhu Gast,

also das ist das normale Verhalten vom Apache 2. Sind Verzeichnisse via .htaccess (oder in der httpd.conf) geschützt, dann werden sie im Index nicht mit ausgegeben.

Ich war mir nicht sicher ob man dieses Verhalten irgendwie ausschalten kann, aber ein Blick in den Quellkode hat es dann beantwortet. Aus der modules/generators/mod_autoindex.c Zeile 1325:

Code: Select all
if ((rr->finfo.filetype != APR_DIR && rr->finfo.filetype != APR_REG)
        || !(rr->status == OK || ap_is_HTTP_SUCCESS(rr->status)
                              || ap_is_HTTP_REDIRECT(rr->status))) {
        ap_destroy_sub_req(rr);
        return (NULL);
    }


Das ap_is_HTTP_SUCCESS(rr->status) ist verantwortlich für das Verstecken von nicht erreichbaren Verzeichnissen. Da das ap_is_HTTP_SUCCESS(rr->status) hier fest drin steht - und nicht in einer weiteren Bedingung - kann man davon ausgehen, dass dieses Verhalte nicht konfigurierbar ist.

Also Fazit: Ist ein Verzeichnis passwortgeschützt, dann taucht es nicht im Index auf. Und das ist auch via httpd.conf nicht abschaltbar.

Liebe Grüße,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Guest » 29. June 2003 20:54

Hallo Oswald,

vielen lieben Dank für Deine Mühen, Dir extra den Sourcecode anzusehen. Leider hast Du mir damit alle Hoffnungen auf Abhilfe zerstört - ich werde mich jetzt in eine Ecke legen und leise in mich hineinwimmern ;-)

Nein wirklich: Bin Dir sehr dankbar für diese ausführliche Antwort!

Gruß
Danyel
Guest
 


Return to Apache

Who is online

Users browsing this forum: No registered users and 25 guests