Echando un vistazo rápido a la documentación :
La directiva SetEnvIf define variables de entorno basadas en los atributos de la solicitud. El atributo especificado en el primer argumento puede ser una de tres cosas:
Un campo de encabezado de solicitud HTTP (consulte RFC2616 para obtener más información sobre estos); por ejemplo: Host, User-Agent, Referer y Accept-Language. Se puede usar una expresión regular para especificar un conjunto de encabezados de solicitud.
Entonces, ciertamente es posible hacer que una variable de entorno sea condicional en el Hostencabezado. Parece que está intentando usar los encabezados Referero Remote_Host, ninguno de los cuales es exactamente lo que desea (aunque en teoría Refererdebería contener el valor del Hostencabezado en la mayoría de los casos). Remote_Hostsería el nombre de host del cliente que realiza la solicitud, que no es en absoluto lo que desea (y en la mayoría de las configuraciones simplemente no estaría disponible, ya que es típico tener las búsquedas de DNS desactivadas por razones de rendimiento).
Intenta algo como esto:
SetEnvIf Host "www-dev\.example\.com" ENV=DEV
SetEnvIf Host "www-production\.example\.com" ENV=PRD
... y luego use $ _SERVER ['ENV'] para crear algunas ramas lógicas
Pero tenga en cuenta también que simplemente puede hacer referencia al valor del Hostencabezado directamente en PHP sin pasar por este engaño; $_SERVER['HTTP_HOST']Tendrás exactamente lo que quieres.