¿La exclusión de una sub-URL protegida no funciona en Apache 2.4?

¿La exclusión de una sub-URL protegida no funciona en Apache 2.4?

Intento excluir una suburl "/shop/api" de mi sitio web protegido. ¿Funcionó bien en un servidor diferente en Apache/2.2.15 pero ahora no con Apache/2.4.7? Siempre solicita la autenticación básica. ¿Alguna idea de lo que hice mal?

AuthType Basic
AuthName 'Authentication required'
AuthUserFile /var/www/vhosts/pwd/.htpasswd

# Allow access to excluded diretories
SetEnvIf Request_URI ^/shop/api/  noauth=1
Order deny,allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth

Respuesta1

como "lain" señaló el tema de control de acceso/autenticación de Apache 2.4ha cambiado desde 2.2. Entonces necesitaba modificarlo de la siguiente manera:

AuthType Basic
AuthName 'Authentication required'
AuthUserFile /var/www/vhosts/pwd/.htpasswd
# Allow access to excluded directories
SetEnvIf Request_URI /shop/api  noauth=1
<RequireAny>
  Require env noauth
  Require env REDIRECT_noauth
  Require valid-user
</RequireAny>

Además, tuve que agregar Require env REDIRECT_noauthporque PHP está usando alguna redirección y esto mantiene la variable env noauthconfigurada

información relacionada