wake-up-neo.net

So entfernen Sie den .htaccess-Kennwortschutz aus einem Unterverzeichnis

Ich habe meine gesamte Website mit .htaccess durch ein Kennwort geschützt. Ich möchte jedoch eines der Unterverzeichnisse freigeben, sodass es ohne Kennwort angezeigt werden kann.

Wie kann ich den htaccess-Passwortschutz für ein Unterverzeichnis deaktivieren? Was genau ist die .htaccess-Syntax.

Hier ist meine .htaccess-Datei, die sich im Stammverzeichnis meines ftp befindet

 AuthName "Site-Verwaltung" 
 AuthUserFile /dir/.htpasswd
AuthGroupFile /dev/null

AuthName sicher 
 AuthType Basic 
 verweigern 
 von allen zulassen 
89
justinl

Sie müssen eine neue .htaccess-Datei im erforderlichen Verzeichnis erstellen und die Satisfy any-Direktive wie folgt in die Datei aufnehmen.

# allows any user to see this directory
Satisfy Any

Die Syntax wurde in Apache 2.4 geändert. Dies hat den gleichen Effekt:

Require all granted
142
RageZ

Zu RageZs Antwort habe ich dies in den Server-Direktiven verwendet:

<Directory /var/www/protected/>
     AuthType Basic
     AuthName "Production"
     AuthUserFile /path/to/.htpasswd
     Require valid-user
</Directory>

<Directory /var/www/protected/unprotected>
     Satisfy Any
</Directory>

Genial. Danke RageZ!

33
atonyc

Erstellen Sie einfach einen neuen .htaccess im gewünschten Unterverzeichnis mit dieser Anweisung:

Allow from all

Sie können Ihre IP nur mit einschränken:

Allow from x.x.x.x

Siehe: http://httpd.Apache.org/docs/current/mod/mod_access_compat.html

8
Paul Rad

Mit dem folgenden Verfahren können Sie das Unterverzeichnis "foo" über die Standardauthentifizierung aus der .htaccess-Hauptdatei eines Standorts zulassen:

AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user

Hinweis: Dies funktioniert in Apache 2.4. Ich habe für frühere Versionen nicht bestätigt.

1
PeterA

Sie müssen dem Unterverzeichnis eine weitere .htaccess-Datei hinzufügen, die die Authentifizierung überschreibt. .htaccess kaskadiert nach oben, d. h. er sucht im aktuellen Ordner, geht dann eine Ebene höher usw.

1
Fenton

Wenn Sie verhindern möchten, dass eine bestimmte Direktive die htaccess-Authentifizierung durchführt, können Sie in Ihrer htaccess-Datei oben folgenden Code verwenden.

AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow

Auch wenn Sie mehrere Verzeichnisse verhindern möchten, fügen Sie hinzu

SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow

wenn Sie so viele Verzeichnisse wie möglich haben, möchten Sie diese aus der Zugriffsverhinderung entfernen.

0
Mohd Jafar