#apache #.htaccess #password-protection #.htpasswd
#apache #.htaccess #защита паролем #.htpasswd
Вопрос:
В моем корневом каталоге есть файл htaccess для добавления правил, таких как принудительный доступ к www на веб-сайте и т.д.
Я хочу защитить каталог на моем сайте, такой как example.com/private / и example.com/private/p/
Я здесь, где находятся мои файлы htaccess:
/public_html/.htaccess (htaccess file to force www. on my site)
/public_html/private/.htaccess (protect directory code)
/public_html/private/.htpasswd (usernames and passwords for directory)
Я продолжаю получать 401 несанкционированный доступ, когда пытаюсь щелкнуть ссылку на / private / URL и иногда даже не получаю запрос пароля. Я пытался очистить свой кэш, но это все еще не работает.
Вот мой код / private /.htaccess (код защиты каталога) (кстати, я знаю, что мой путь к файлу AuthUserFile правильный):
AuthType Basic
AuthName "Members Only"
AuthUserFile /public_html/private/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>
Когда я удаляю файл /public_html /.htaccess, вход в систему работает нормально. Кто-нибудь знает, почему и как это исправить, чтобы я мог использовать оба файла .htaccess?
Ответ №1:
Попробуйте изменить путь к .htpasswd (в строке «AuthUserFile / public_html / private /.htpasswd») на полный путь к вашему файлу. Пример /home/имя пользователя /www/public_html/private/.htpasswd
Комментарии:
1. Да, я уверен, что файл AuthUserFile указан правильно. Это было
AuthUserFile /storage/ssd4/782/3883334/public_html/private/.htpasswd
и работает отлично. Похоже, проблема с ssl в том, что я не получаю приглашение. Когда я отключаю https через cloudflare, кажется, что он работает нормально, и я получаю всплывающее окно, как обычно. Есть идеи, почему это не работает с https?