У меня есть две папки, F1 и F2, в моей общей папке, каждая с файлом .htaccess. F1 защищен базовой аутентификацией в .htaccess, например:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/myaccount/.htpasswd
AuthGroupFile /dev/null
require valid-user
Я переписываю URL-адрес из F2 в F1, например:
RewriteRule ^f2file\.php$ ../F1/f1file.php [NC,L]
Эта перезапись работает, но мне бросает вызов базовая аутентификация, которую я установил в F1. Есть ли способ отправить базовые учетные данные для аутентификации при перезаписи или обойти базовую аутентификацию при перезаписи из локальной папки?
Я ' Мы пробовали установить переменную среды, как в , этот вопрос :
SetEnvIf Request_URI ^f2file\.php$ ADD_BASIC_AUTH
RequestHeader set Authorization "Basic XXXXXXXX" env=ADD_BASIC_AUTH
Где XXXXXXXX - это значение пользователя: pass в кодировке base 64, как описано в вопросе выше. Но это не работает, у меня все еще возникают проблемы с учетными данными, может быть, потому, что я не выполняю перезапись в качестве прокси? Есть идеи? Спасибо!
Поскольку папка F1 защищена паролем, требуется пароль для доступа к тому, что доступно непосредственно в этой папке. Возможно, вы можете использовать символическую ссылку из папки F2 на файл, требуемый в папке F1. Тогда клиенты получат доступ к файлу F2 вместо F1, и пароль не понадобится.
ln -s ../F1/f1file.php f2file.php