Eu tenho medo que você tenha entendido mal alguns conceitos do Apache aqui. O argumento em um bloco <Directory>
é um caminho completo do sistema de arquivos, não um relativo à raiz do servidor. Você deve nunca realmente alterar o bloco <Directory />
do padrão. Você não precisa alterá-lo para que sua configuração funcione.
O argumento para um bloco <Location>
é relativo à raiz do servidor. Então você só precisa de dois desses blocos para conseguir o que deseja.
<Location "/assets/upload"> Order deny,allow Allow from all Satisfy any </Location> <Location "/"> AuthType Basic AuthName "Staging" AuthUserFile /var/.../.htpasswd AuthGroupFile /dev/null Require valid-user </Location>
Você deve ter um único bloco <Directory />
no contexto global / servidor (ou seja, não dentro de qualquer vhost) e deve ser algo assim.
<Directory /> Options FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory>