Как отмечалось в комментариях, директивы Deny
и Order
ранее устарели в Apache 2.4 (которую, я полагаю, вы используете - увидеть ниже). И предназначены только для обратной совместимости (mod_access_compat). Их следует использовать только в Apache 2.2 и более ранних версиях.
запретить все
Да, это «запретит» любой доступ к текущему каталогу, файлам и подкаталогам. Однако без явного указания Порядок
, в котором обрабатываются директивы Запретить
и Разрешить
, то, как он взаимодействует со связанными директивами, неясно.
Разрешить директивы
в подкаталоге .htaccess
должны переопределить это.
<Файлы "*"> Порядок Запретить, Разрешить Запретить от всех файлы>
Помещая директивы в контейнер
, вы заставляете блок объединяться поздно. Это приводит к потенциальному переопределению директив Allow
в подкаталоге, в отличие от приведенного выше примера. Если только директивы Allow
в подкаталоге также не заключены в контейнер
. Это может быть или не быть желательным. В большинстве случаев это не требуется.
*
— это просто подстановочный знак, который соответствует всем файлам (и каталогам).
На Apache 2.4 вместо этого следует использовать директиву Require
(mod_authz_core):
Require all denied
То же самое относительно контейнера
применимо и здесь.