Analisando rapidamente a documentação :
The SetEnvIf directive defines environment variables based on attributes of the request. The attribute specified in the first argument can be one of three things:
An HTTP request header field (see RFC2616 for more information about these); for example: Host, User-Agent, Referer, and Accept-Language. A regular expression may be used to specify a set of request headers.
Portanto, é certamente possível tornar uma variável de ambiente condicional no cabeçalho Host
. Parece que você está tentando usar os cabeçalhos Referer
ou Remote_Host
, nenhum dos quais é exatamente o que você deseja (embora, em teoria, Referer
deva conter o valor do cabeçalho Host
na maioria dos casos). Remote_Host
seria o nome do host do cliente fazendo a requisição, o que não é o que você quer (e na maioria das configurações simplesmente não estaria disponível, já que é típico ter pesquisas de DNS desativadas para razões de desempenho).
Tente algo assim:
SetEnvIf Host "www-dev\.example\.com" ENV=DEV
SetEnvIf Host "www-production\.example\.com" ENV=PRD
...and then use $_SERVER['ENV'] to create some logic branches
Mas note também que você pode simplesmente referenciar o valor do cabeçalho Host
diretamente no PHP sem passar por essa chicanagem; $_SERVER['HTTP_HOST']
terá exatamente o que você deseja.