В Apache 2.4 мы можем использовать переменную среды в простом выражении сравнения строк, например, предполагая SOME_HOST_NAME
это переменная среды:
<If "%{HTTP_HOST} == env('SOME_HOST_NAME')">
...
</If>
или мы можем использовать -strmatch
с подстановочными знаками, что также работает:
"%{HTTP_HOST} -strmatch env('HOST_NAME_WITH_WILDCARDS')"
Однако я хотел бы знать, можно ли также использовать шаблон регулярного выражения, например /my-regex-pattern/
, или wordlist
, например { one, two }
, хранится в переменной среды.
Я пробовал разные подходы, основанные на грамматике, определенной в Выражения Apache docs, но ничего из этого не работает:
"%{HTTP_HOST} =~ env('SOME_REGEX')"
"%{HTTP_HOST} =~ %{env:'SOME_REGEX'}"
и
"%{HTTP_HOST} in env('SOME_WORDLIST')"
"%{HTTP_HOST} in %{env:'SOME_WORDLIST'}"
Это просто невозможно, или дело в правильном синтаксисе?
Подобные вопросы предполагают, что это не возможно в nginx
: