Examinando rapidamente a documentação :
A diretiva SetEnvIf define variáveis de ambiente com base nos atributos da solicitação. O atributo especificado no primeiro argumento pode ser uma das três coisas:
Um campo de cabeçalho de solicitação HTTP (consulte RFC2616 para obter mais informações sobre estes); por exemplo: Host, User-Agent, Referer e Accept-Language. Uma expressão regular pode ser usada para especificar um conjunto de cabeçalhos de solicitação.
Portanto, certamente é possível tornar uma variável de ambiente condicional no Hostcabeçalho. Parece que você está tentando usar o Refererou Remote_Hostcabeçalhos, nenhum dos quais é exatamente o que você quer (embora, em teoria, Refererdeve conter o valor do Hostcabeçalho na maioria dos casos). Remote_Hostseria o nome do host do cliente que está fazendo a solicitação, que não é exatamente o que você deseja (e na maioria das configurações simplesmente não estaria disponível, pois é comum ter as pesquisas de DNS desativadas por motivos de desempenho).
Tente algo como isto:
SetEnvIf Host "www-dev\.example\.com" ENV=DEV
SetEnvIf Host "www-production\.example\.com" ENV=PRD
... e use $ _SERVER ['ENV'] para criar algumas ramificações lógicas
Mas observe também que você pode simplesmente referenciar o valor do Hostcabeçalho diretamente no PHP sem passar por essa trapaça; $_SERVER['HTTP_HOST']terá exatamente o que você quer.