У меня есть несколько сайтов: example.com
, example1.com
и example2.com
. Все они указывают на папку /public_html
моего сервера, которая является моей корневой папкой Apache.
Что мне нужно добавить в мой .htaccess
файл, чтобы использовать http-аутентификацию, только если пользователь приходит с example2.com
? example.com
и example1.com
НЕ должны использовать аутентификацию.
Я знаю, мне нужно что-то вроде
AuthType Basic
AuthName "Password Required"
AuthUserFile "/path/to/.htpasswd"
Require valid-user
Но я хочу запрашивать пароль, только если пользователь посещает example2.com
.
Редактировать
Используя подход, предложенный в ответе, в моем файле .htaccess есть следующее:
SetEnvIfNoCase Host ^(.*)$ testauth
<IfDefine testauth>
RewriteRule ^(.*)$ index2.php?q=$1 [L,QSA]
</IfDefine>
Я знаю, что модуль mod_setenvif.c включен (я проверил с помощью блока ), но может показаться, что «testauth» никогда не определяется, потому что мой тест для проверки (перенаправление на index2.php) не выполняется (тогда как выполнялось в моем блоке). Есть идеи почему?