Wenden Sie die HTTP-Basisauthentifizierung nur auf das Stammverzeichnis an

Wenden Sie die HTTP-Basisauthentifizierung nur auf das Stammverzeichnis an

Ich habe eine einfache Webanwendung mit mehreren Verzeichnissen eingerichtet, die nur für das Stammverzeichnis eine Authentifizierung erfordert. Alle anderen Unterverzeichnisse muss ich ohne Kennwort zulassen.

Ich habe die HTTP-Basisauthentifizierung mit .htaccess und .htpasswd eingerichtet. Diese Dateien befinden sich im Stammverzeichnis des Webs. Mein Problem ist, dass Unterverzeichnisse die Authentifizierung automatisch übernehmen.

Ich muss dies nur für Root anwenden und alle Unterverzeichnisse geöffnet lassen. Wie kann ich das machen?

Der Inhalt meiner .htaccess-Datei ist unten aufgeführt.

AuthType Basic
AuthName "Secure Portal"
AuthUserFile /webroot/.htpasswd
Require valid-user

Antwort1

Mit einer .htaccess-Datei ist dies nicht (einfach) möglich, da die Anweisungen in der .htaccess-Datei für das Verzeichnis und alle darunter liegenden Verzeichnisse gelten.

.htaccess-Dateien (oder „verteilte Konfigurationsdateien“) bieten eine Möglichkeit, Konfigurationsänderungen auf Verzeichnisbasis vorzunehmen. Eine Datei, die eine oder mehrere Konfigurationsanweisungen enthält, wird in einem bestimmten Dokumentverzeichnis abgelegt, und die Anweisungen gelten für dieses Verzeichnis und alle Unterverzeichnisse davon.

Ich schätze, Sie könnten jedem Unterverzeichnis eine .htaccess hinzufügen, die die Einschränkung im Dokumentstamm außer Kraft setzt.

verwandte Informationen