Ho diversi siti: example.com
, example1.com
e example2.com
. Tutti puntano alla cartella /public_html
del mio server, che è la mia cartella radice di Apache.Utilizza autenticazione HTTP solo se si accede a un dominio specifico
Cosa devo aggiungere al mio file .htaccess
per utilizzare l'autenticazione http solo se l'utente proviene da example2.com
? example.com
e example1.com
NON devono usare l'autenticazione.
so che ho bisogno qualcosa come
AuthType Basic
AuthName "Password Required"
AuthUserFile "/path/to/.htpasswd"
Require valid-user
ma voglio soltanto per richiedere una password se l'utente sta visitando example2.com
.
Modifica
Utilizzando un approccio suggerito in una risposta, ho il seguente nel mio file .htaccess:
SetEnvIfNoCase Host ^(.*)$ testauth
<IfDefine testauth>
RewriteRule ^(.*)$ index2.php?q=$1 [L,QSA]
</IfDefine>
So che il modulo mod_setenvif.c è abilitato (ho verificato con un blocco IfModule <, ma sembrerebbe che "testauth" non viene mai definito, perché il mio test per verificare (reindirizzamento a index2.php) non è in esecuzione (mentre veniva eseguito nel mio blocco < IfModule>). Qualche idea, perché?
Se tutti i domini siano rivolte al stesso posto, perché vorresti proteggere solo uno di loro? Se in realtà offri contenuti diversi, perché non hai un approccio saner come una cartella per dominio? –
Sto eseguendo un'installazione Drupal multisito dalla mia cartella/public_html e voglio creare un'autenticazione HTTP coperta su uno dei siti, oltre al normale accesso utente di quel sito. –
Il multisito di Drupal mi consente di eseguire diversi siti Web con lo stesso set di file PHP, ma con database diversi (così diversi contenuti). Potrei fare una seconda installazione in una sottocartella, ma ciò richiederebbe il mantenimento di serie distinte di file e moduli. –