Защитить каталог с ошибкой htaccess / htpasswd из корневого файла htaccess?

#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?