На моем веб-сервере я хотел бы заблокировать все файлы, за исключением некоторых разумных исключений. У меня есть следующая директива Filesmatch, которая делает свою работу:
<FilesMatch "(?<!\.txt|\.htm|\.html|\.css|\.php|\.js|\.jpg|\.png|\.gif|\.ico|\.svg|\.eot|\.ttf|\.woff|\.otf)$">
Order Allow,Deny
Deny from All
</FilesMatch>
Обратите внимание, что FilesMatch использует регулярное выражение с отрицательным просмотром назад: см.http://www.regular-expressions.info/lookaround.html. Он заблокирует все файлы, кроме тех, которые имеют указанное расширение.
Это также приводит к ошибке 403 Forbidden для документа по умолчанию каталога (index.html). Это не то, что мне нужно. Может кто-нибудь помочь? Как работает поиск документов по умолчанию? Есть ли другое решение для блокировки всех, кроме некоторых? Я посмотрел в журнале ошибок Apache2 с помощью отладки LogLevel, но единственное сообщение — «клиент отклонен конфигурацией сервера» при запросе документа по умолчанию. (Явный запрос index.html работает)
Редактировать: есть решение этой проблемы с помощью директивы Location. СмотретьИспользование FilesMatch для повышения безопасности Итак, моя проблема решена, но мне все равно хотелось бы узнать, почему она не работает с FilesMatch.