Я пытаюсь сделать следующее в моем .htaccess
файле:
SetEnvIf Host sub.example.com passreq
SetEnvIf Request_URI "^\/[a-z]{2}-[a-z]{2}\/.+$" !passreq
SetEnvIf Request_URI "^(.*)/(.+)\.(jpg|jpeg|gif|png|svg|js|css|ico|ttf|eot|ot|rtt|woff|woff2)$" !passreq
Когда установлено passreq
У меня базовая аутентификация, запускаемая с помощью:
AuthType Basic
AuthName "Password Required"
AuthUserFile /<path>/.htpasswd
Require user example
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
1) Так что я ожидаю, что смогу получить доступ к таким ресурсам, как:
https://sub.example.com/assets/img/example.png
2) И я ожидаю, что смогу получить доступ к таким маршрутам, как:
https://sub.example.com/de-de/some-path.html
3) И я ожидаю получить базовую аутентификацию для чего-то вроде:
https://sub.example.com/index.html
Ожидания 1 и 3 верны, но номер 2 нене работает. При попытке доступа https://sub.example.com/de-de/some-path.html блокируется с помощью базовой аутентификации.
Похоже, что SetEnvIf Request_URI "^\/[a-z]{2}-[a-z]{2}\/.+$" !passreq
не отменяет переменную env passreq
, установленную SetEnvIf Host sub.example.com passreq
.
В чем может быть моя ошибка?