La mia domanda è molto simile a questa: ottenere "autenticazione richiesta" quando si richiede / invece di /index.php
Tuttavia, nella domanda di cui sopra, l'obiettivo è quello di consentire l'accesso solo all'URL di root o index.php e proteggere con password l'accesso a tutti gli altri file e sottodirectory.
Una risposta eccellente è stata data:
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
La mia domanda è il contrario: voglio solo proteggere con password l'URL di root della directory o il file index.php e consentire l'accesso gratuito a tutti gli altri file nella directory. Quando l'ho usato <FilesMatch "index.php">
Sono riuscito a proteggere il file indice, ma l'URL radice ha permesso l'accesso.
Sono sicuro che la risposta è fondamentalmente ovvia per quelli che conoscono meglio di me. Come posso proteggere con password solo index.php e l'url di root? Grazie.
risposte:
2 per risposta № 1Usalo in questo modo:
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
- Modello Regex
^/(index.php)?$
corrisponderà/
o/index.php
e imposta la variabile envPROTECT
Allow from All
consente tutti gli URIDeny from env=PROTECT
nega la variabile envPROTECT
0 per risposta № 2
Non sono sicuro se questo è ciò che vuoi veramente, ma per quanto riguarda le opzioni -Indexes
, usato in questo modo?
<Directory /www/somefolder>
Options -Indexes FollowSymLinks
AllowOverride None
</Directory>