Mam kilka witryn: example.com
, example1.com
i example2.com
. Wszystkie wskazują na katalog mojego serwera /public_html
, który jest moim folderem głównym Apache.Skorzystaj z uwierzytelniania HTTP tylko w przypadku dostępu do określonej domeny
Co muszę dodać do mojego pliku .htaccess
, aby używać uwierzytelniania http tylko, jeśli użytkownik pochodzi z domeny example2.com
? example.com
i example1.com
NIE powinny używać uwierzytelniania.
Wiem, że muszę coś podobnego
AuthType Basic
AuthName "Password Required"
AuthUserFile "/path/to/.htpasswd"
Require valid-user
Ale chcę tylko wymaga hasła, gdy użytkownik odwiedza example2.com
.
Edit
Stosując podejście sugeruje odpowiedź, mam następujących w moim pliku .htaccess:
SetEnvIfNoCase Host ^(.*)$ testauth
<IfDefine testauth>
RewriteRule ^(.*)$ index2.php?q=$1 [L,QSA]
</IfDefine>
wiem, że moduł mod_setenvif.c jest włączona (I zweryfikowane < IfModule> blok), ale wydaje się, że "testauth" nigdy nie zostanie zdefiniowany, ponieważ mój test do weryfikacji (przekierowanie do index2.php) nie jest wykonywany (podczas gdy był on wykonywany w moim bloku < IfModule>). Jakieś pomysły, dlaczego?
Jeśli wszystkie domeny są wskazując na to samo miejsce, dlaczego chcesz chronić tylko jedną z nich? Jeśli faktycznie wyświetlasz różne treści, dlaczego nie zastosować bardziej rygorystycznego podejścia, takiego jak jeden folder w domenie? –
Używam wielopunktowej instalacji Drupala z folderu my/public_html i chcę utworzyć pełny adres http na jednej z witryn, oprócz zwykłego loginu użytkownika tej witryny. –
Multisite Drupala pozwala mi uruchamiać różne witryny internetowe z tego samego zestawu plików PHP, ale z różnymi bazami danych (tak różne treści). Mogłem wykonać drugą instalację w podfolderze, ale to wymagałoby ode mnie zachowania odrębnych zestawów plików i modułów. –