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

Apache 2.4 use <requireall> Запретить все с локальным получил 403 Запрещено</requireall>

У меня вопрос по apache 2.4. Это моя настройка в /etc/httpd/conf.d/vhost-www0.conf

<VirtualHost *:80>
    DocumentRoot "/var/www/virtual"
    ServerName www0.example.com

    <Directory "/var/www/virtual">
        <RequireAll>
            Require all granted
        </RequireAll>
    </Directory>

    <Directory "/var/www/virtual/private">
       <RequireAll>
            Require all denied
            Require local
        </RequireAll>
    </Directory>
</VirtualHost>

Я получил 403 Forbidden при открытии с http://www0.example.com/private/index.html

Но если бы я убрал тег RequireAll, вот так

<VirtualHost *:80>
    DocumentRoot "/var/www/virtual"
    ServerName www0.example.com

    <Directory "/var/www/virtual">
        <RequireAll>
            Require all granted
        </RequireAll>
    </Directory>

    <Directory "/var/www/virtual/private">
        Require all denied
        Require local
    </Directory>
</VirtualHost>

А затем откройте http://www0.example.com/private/index.html опять же, он показывает мой индексный контент.

Кто мне скажет почему? Или это у меня настройки где-то не так?

Информация в Google говорит, что если я хочу использовать Require, следует использовать с тегом ReqiureAll. Это неправильно?

Большое спасибо, надеюсь, у вас хороший день :)