я установить переменные окружения в HTTPd-vhosts.confHtaccess Если ... Else всегда выбирает ELSE
SetEnv EARLY_VAR 1
я попробовать установить специальные правила, основанные на его стоимость в .htaccess
<If "%{ENV:EARLY_VAR} == '1'">
SetEnv TEST_VAR if_branch
</If>
<Else>
SetEnv TEST_VAR else_branch
</Else>
Ожидаю TEST_VAR
Окружающая среда var равна if_branch
. В PHP
var_dump(getenv('EARLY_VAR')); // string '1'
var_dump(getenv('TEST_VAR')); // string 'else_branch'
Я также попытался установить EARLY_VAR
в .htaccess
над If/Else, как с помощью SetEnv
и SetEnvIf
. Выполняется всегда Else.
Почему это?
Apache 2.4
Не видя '% {ENV:' как действительное выражение здесь ~ http://httpd.apache.org/docs/2.4/expr.html. Есть функция 'env', хотя – Phil
@Phil Спасибо за подсказку. Язык документации на этой странице трудно понять, но я думаю, что вы поместили меня на правильный путь. – BeetleJuice
@Phil '% {ENV:' также действителен. И будет расширен как '%%" funcname ": funcargs} "' – hjpotter92