Назад | Перейти на главную страницу

Кошмар каталога .htaccess

Я использую оболочку, и моя веб-папка находится по адресу /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.