У меня есть три каталога в / var / www / html, у одного из них есть .htacces со следующим:
Order Allow, Deny
Allow from all
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName 'lalalal'
AuthType Basic
Require user lala
При отправке запроса в этот каталог сервер возвращает 403 вместо 401.
При запросе других каталогов сервер возвращает 200.
Также интересно то, что при проверке страницы информации о сервере нет ни одной строки, относящейся к защищенному каталогу или его братьям и сестрам.
редактировать
Журнал ошибок показывает:
«В доступе отказано: /var/www/html/drugi/.htaccess pcfg_openfile: невозможно проверить файл htaccess, убедитесь, что он доступен для чтения»
Файл .htaccess имеет 644 разрешения.
403 предполагает, что есть ошибка разрешений. Убедитесь, что apache
у пользователя есть разрешение на чтение файла .htaccess, и у него есть разрешение на просмотр в дереве каталогов Drugi, так что это будет r-x
для другого (если он не принадлежит apache) или r-x
для владельца / группы, если он принадлежит apache или его группе.
Order Allow, Deny
Allow from all
Они не требуются, если вы используете HTTP-аутентификацию, и от них можно избавиться. (И Порядок прерывается, если после запятой есть пробел.)
Кстати, неплохо хранить файл htpasswd вне каталога веб-документов.
Поскольку вы добавили в свой вопрос дополнительную информацию, я бы сказал, что вам также следует проверить разрешения в каталоге с помощью ls -alZ
чтобы проверить как разрешения Unix, так и контексты SELinux.