Web 2.0 Tips

Icon

Consejos y trucos para el desarrollo y diseño de webs

Problemas con $_SERVER['SERVER_NAME'] y subdominios virtuales

Bueno, posteo esto porque es un problema que me ha pasado hoy, es un tip sencillo para PHP, un pequeño problema que alguno puede tener o cruzarse alguna vez.

El objetivo: Necesito que según el subdominio, un script se comporte de forma diferente, en mi server de prueba me hiba bien usando la variable global $_SERVER['SERVER_NAME'], pero cuando subo a producción, el script falla.

El codigo era masomenos asi:

if ($_SERVER['SERVER_NAME'] == "dev.site.com") {
    require ("config/dev.php");
} else {
    require ("config/prod.php");
}

Problema: $_SERVER['SERVER_NAME'] no devolvia el verdadero subdominio donde estaba, sino el ServerName definido en la configuración del Apache

Solucción: Empezé a usar $_SERVER['HTTP_HOST'].

Por algún motivo, en mi server $_SERVER['SERVER_NAME'] funcionaba sin problemas, pero realmente el SERVER_NAME hace referencia justamente a eso, asi que su uso para detectar el subdminios esta mal, cuando en realidad se debería usar HTTP_HOST, algo que tuve que aprender a la fuerza.


Tips relacionados:

  1. Cuidado con $_SERVER['HTTP_REFERER']

Tip de PHP, Programación

Tags: ,

Leave a Reply

Exos

Oscar J. Gentilezza Arenas (Exos) Programador y curioso en lo relacionado en la informatica, actualmente trabaja de programador web usando PHP y manteniendo servidores en GNU/Linux y FreeBSD

Web: http://blog.exodica.com.ar

Tips: 40

Recomendamos

Haste autor!

En web2.0-tips, cualquiera puede publicar un consejo, truco o articulo relacionado con el desarrollo y diseño web. Tu puedes registrarte y postear, aparte te quedas con el 80% de impresiones de adsense en tus publicaciones.

Lee mas aca!

Categoria

Haste fan

Web Analytics