Ich versuche, eine Sub-URL „/shop/api“ von meiner geschützten Website auszuschließen. Auf einem anderen Server mit Apache/2.2.15 hat das problemlos funktioniert, aber jetzt nicht mit Apache/2.4.7? Es wird immer nach der Basisauthentifizierung gefragt. Irgendeine Idee, was ich falsch gemacht habe?
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
Antwort1
wie "lain" anmerkte, das Apache 2.4 Auth/Access Control Zeughat sich seit 2.2 geändert. Also musste ich es wie folgt ändern:
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>
Außerdem musste ich hinzufügen, Require env REDIRECT_noauth
dass PHP eine Weiterleitung verwendet und dadurch die Umgebungsvariable noauth
gesetzt bleibt