Я использую оболочку, и моя веб-папка находится по адресу /home/w/waterfox/public_html
. Там у меня есть каталог под названием irclogs
, который я пытаюсь защитить паролем. Он изменен на 755.
Здесь .htaccess
файл, который я поместил в свою папку public_html:
<Directory /home/w/waterfox/public_html/irclogs>
AuthUserFile "/home/w/waterfox/public_html/.htpasswd"
AuthType Basic
AuthName "Restricted"
Require valid-user
</Directory>
Когда я пытаюсь получить доступ к любой части моего сайта, в том числе к материалам за пределами irclogs
папка, я получаю 500 Internal Server Error
.
Кажется, это не имеет ничего общего с моим файлом .htpasswd, потому что я могу защитить отдельные файлы с помощью <Files>
или <FilesMatch>
просто хорошо.
<Directory>
Теги не нужны в файлах .htaccess, поскольку предполагается, что вы хотите, чтобы включенные правила применялись к папке, в которой находится .htaccess. Выньте открытие и закрытие <Directory>
теги, переместите .htaccess в папку irclogs, и все будет хорошо.
Если вы посмотрите на директиву Directory в документации:
http://httpd.apache.org/docs/current/mod/core.html#directory
Вы увидите описание контекста в поле описания:
Это указывает, где в файлах конфигурации сервера директива является допустимой.
http://httpd.apache.org/docs/current/mod/directive-dict.html#Context
Как видите, .htaccess отсутствует в этом списке по причине, указанной ErikA.