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

Исключение защищенного дополнительного URL-адреса не работает на Apache 2.4?

Я пытаюсь исключить дополнительный URL "/ shop / api" с моего защищенного веб-сайта. Он отлично работал на другом сервере на Apache / 2.2.15, но теперь не на Apache / 2.4.7? Он всегда запрашивает базовую аутентификацию. Любая идея, что я сделал не так?

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

как "lain" указал, что в apache 2.4 Auth / Access control были изменены с 2.2. Поэтому мне нужно было изменить его следующим образом:

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

Кроме того, мне пришлось добавить «Требовать env REDIRECT_noauth», потому что php использует перенаправление soem, и это сохраняет установленную переменную env «noauth»