2011-12-01 6 views
5

Ho bisogno di impostare apache per la corrispondenza inversa/posizione dell'amministratore che viene riscritta dal file htacess di drupal predefinito. Basta chiedere http autenticazione per tutto ciò che non è/admin/*disabilita l'autenticazione http per la specifica posizione riscritta

Ho provato questo finora:

 < LocationMatch "^/(?!admin)" >
AuthName "Members Only" AuthType Basic AuthBasicProvider file AuthUserFile /path/to/.htpasswd Require valid-user
< /LocationMatch >

risposta

0

Si può provare a utilizzare un SetEnvIf per controllare REQUEST_URI per/admin, così si dovrebbe finire con qualcosa di simile:

# Set an environment variable if requesting /admin 
SetEnvIf Request_URI ^/admin/? DONT_NEED_AUTH=true 

# Setup your auth mechanism 
AuthName "Members Only" 
AuthType Basic 
AuthBasicProvider file 
AuthUserFile /path/to/.htpasswd 

# Set the allow/deny order 
Order Deny,Allow 

# Indicate that any of the following will satisfy the Deny/Allow 
Satisfy any 

# First off, deny from all 
Deny from all 

# Allow outright if this environment variable is set 
Allow from env=DONT_NEED_AUTH 

# or require a valid user 
Require valid-user 

potrebbe essere necessario avvolgere che nel tag appropriato o se non si è messa questo all'interno di un file .htaccess.

+0

Ho provato questi tag all'interno della directory per il mio/var/www, risultando in richiedere l'autenticazione per ogni richiesta –

+0

Hai provato a sostituire '/ admin' con ciò che Drupal riscrive? Non sono sicuro di quale ordine dei moduli abbia la precedenza, mod-setenv o mod-rewrite –

+0

 SetEnvIf Request_URI "^/admin/?$" do_auth=1 AuthName "Members Only" AuthType Basic AuthBasicProvider file AuthUserFile /path/to/.htpasswd Require valid-user Order Allow,Deny Allow from all Deny from env=do_auth Satisfy Any 
funziona, ma non riesco a invertirlo, questo è quello che mi serve –

Problemi correlati