Apache объединяет разделы местоположения (снова)

Apache объединяет разделы местоположения (снова)

Я читаюэтот ответна аналогичный вопрос, заданный некоторое время назад, и он имел смысл и соответствовал документации Apache 2.4. Но у меня был следующий опыт, который, кажется, противоречит этому ответу и документации. Рассмотрите следующие директивы:

<Directory "/opt/lampp/htdocs/foo">
    AuthName "foo user"
    AuthType Basic
    Authuserfile /opt/lampp/passwds/foo.users
</Directory>
<VirtualHost *:80>
    ServerName   foo.example.com
    DocumentRoot "/opt/lampp/htdocs/foo/public"
    ErrorLog     "logs/foo.error_log"
    <Location />
        Require valid-user
    </Location>
    <Location /wp/feed>
        Require all granted
    </Location>
    CustomLog    "logs/foo.access_log" combined
</VirtualHost>

Цель, очевидно, состоит в том, чтобы защитить все URL-адреса с помощью базовой http-аутентификации,кромедля URL-адресов ниже /wp/feed. Но после перезагрузки Apache у меня запросили учетные данные при переходе на /wp/feed. Этот URL-адрес соответствует обоим путям Location, поэтому Apache должен был обработать Require valid-userследующий Require all granted, и мне не следовало запрашивать. Просто ради «забавы» я попробовал поменять порядок блоков location, но все равно получил запрос. Единственное, что я смог найти, что сработало так, как я и предполагал, — это полностью удалить блок location для «/». Для меня это также было неожиданным поведением, потому что в этом случае вообще не было никаких Require valid-userдиректив, которые должны были применяться к URL-адресам, не соответствующим /wp/feed. И все же они были применены, так как мне был предложен запрос для всех URL-адресов, которые не соответствуют /wp/feed.

Может кто-нибудь объяснить? Я просто не понимаю ответ идокументация?

У меня не возникло проблем с указанием этого поведения с помощью директив nginx, где обычно побеждает самый длинный префикс. Если то, что я получил, действительно является ожидаемым поведением, как я могу получить то, что хочу, с помощью apache?

Связанный контент