Verweigern Sie den Zugriff auf alle Ordner außer ein paar mit htaccess

9

Mein Webprojekt ist in /var/www/vhosts/domain.tld/httpdocs/

gespeichert

HTACCES-Datei, die ich unten auflisten werde, enthält folgendes:

%Vor%

.htaccess-Datei wird in den Ordnerdateien unter dem Stammverzeichnis gespeichert. Der vollständige Pfad lautet also: /var/www/vhosts/domain.tld/httpdocs/files/

Inhalt für den Ordner "files":

%Vor%

Was ich eigentlich versuche, ist, jeden Ordner vor direktem Zugriff zu schützen, mit Ausnahme der folgenden:

  • uploads / files /
  • uploads / Bilder / Seiten /
  • uploads / images / store /

Auf jede Datei in diesen Ordnern kann direkt zugegriffen werden

Wenn ich htaccess wie oben beschrieben benutze, bekomme ich eine 500er Fehlerseite. Wenn nur die ersten 4 Zeilen aus dem Beispiel (keine Ausnahmen) verwendet werden, funktioniert der Code einwandfrei.

Jede Hilfe ist willkommen!

Vielen Dank im Voraus!

    
AndVla 25.07.2013, 19:55
quelle

1 Antwort

12

Sie erhalten einen Fehler von 500, weil der Container <Directory> nicht in einer htaccess-Datei verwendet werden kann (die sich im Wesentlichen in einem Verzeichniscontainer für das Verzeichnis befindet, in dem sie sich befindet). Was Sie tun müssen, ist den Container <Directory> aus Ihrer htaccess-Datei zu entfernen und das Deny from all -Bit zu lassen:

htaccess-Datei in Ihrem Dokumentenstamm:

%Vor%

Erstellen Sie anschließend eine htaccess-Datei in uploads/files/ , uploads/images/pages/ und uploads/images/store/ (und in allen anderen Verzeichnissen, auf die Sie zugreifen möchten):

%Vor%     
Jon Lin 25.07.2013, 20:37
quelle

Tags und Links