/ / Passwortschutz für index.php und /, aber Zugriff auf alle anderen Dateien und Unterverzeichnisse. - PHP, .htaccess

Wie schützt man index.php und /, aber erlaubt den Zugriff auf alle anderen Dateien und Unterverzeichnisse. - PHP, .htaccess

Meine Frage ist dieser sehr ähnlich: "Authentifizierung erforderlich" beim Anfordern von / anstelle von /index.php

In der obigen Frage ist es jedoch das Ziel, den Zugriff nur auf die Stamm-URL oder die Datei index.php zuzulassen und den Zugriff auf alle anderen Dateien und Unterverzeichnisse durch ein Kennwort zu schützen.

Eine ausgezeichnete Antwort wurde gegeben:

SetEnvIf Request_URI "^/$" allow=yes
SetEnvIf Request_URI "^/index.php$" allow=yes

AuthType Basic
AuthName "Password Required"
AuthUserFile /var/www/webinterface/.htpasswd
Options +FollowSymLinks
Order Deny,Allow
Satisfy any
Deny from All
Require valid-user
Allow from env=allow

Meine Frage ist umgekehrt: Ich möchte nur die Root-URL des Verzeichnisses oder die Datei index.php mit einem Passwort schützen und den freien Zugriff auf alle anderen Dateien im Verzeichnis ermöglichen. Als ich benutzt habe <FilesMatch "index.php"> Es ist mir gelungen, die Indexdatei zu schützen, aber die Root-URL ermöglichte den Zugriff.

Ich bin sicher, dass die Antwort für diejenigen von Ihnen, die mit htaccess besser vertraut sind als ich, offensichtlich ist. Wie schütze ich nur index.php und die Root-URL mit einem Passwort? Vielen Dank.

Antworten:

2 für die Antwort № 1

Benutze es so:

SetEnvIfNoCase Request_URI "^/(index.php)?$" PROTECT

AuthType Basic
AuthName "Password Required"
AuthUserFile /var/www/webinterface/.htpasswd
Require valid-user
Satisfy any
Order Allow,Deny
Allow from All
Deny from env=PROTECT
  • Regex-Muster ^/(index.php)?$ Wird zusammenpassen / oder /index.php und es setzt env variable PROTECT
  • Allow from All erlaubt alle URIs
  • Deny from env=PROTECT verweigert env Variable PROTECT

0 für die Antwort № 2

Ich bin mir nicht sicher, ob Sie das wirklich wollen, aber was ist mit den Optionen? -Indexes, so benutzt?

<Directory /www/somefolder> Options -Indexes FollowSymLinks AllowOverride None </Directory>