Я пытаюсь понять, почему я могу установить строковый литерал в httpd.conf с помощью SetEnv:
SetEnvIf anothertest ^$ something=sometext
Но я не могу присвоить содержимое другой переменной:
SetEnvIf anothertest ^$ something=$QUERY_STRING
Второй приводит к $ QUERY_STRING вместо разыменования переменной.
Обновить:
Приведенный выше код был попыткой устранить возникшую у меня проблему. Конечная цель - заставить SetEnvIf работать, чтобы я мог установить несколько доменов с помощью Access-Control-Allow-Origin. Я пытаюсь установить его для домена https://localhost:8443
и https://10.1.40.75:8443
. Ниже приведен код, который у меня сейчас не работает.
<ifModule mod_headers.c>
SetEnvIf Origin "^http(s)?://(.+\.)?(localhost:8443|10\.1\.40\.75:8443)$" origin_is=$0
Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is
Header set Access-Control-Allow-Credentials true
</ifModule>
Это потому, что Apache не поддерживает это в mod_setenvif
модуль: http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html
Если вы сообщите нам, чего вы пытаетесь достичь, возможно, кто-нибудь из нас предложит альтернативное решение?