Foros del Web » Programando para Internet » PHP »

Redirección PHP con $_SERVER

Estas en el tema de Redirección PHP con $_SERVER en el foro de PHP en Foros del Web. ¡¡Buenas!! Este es mi primer post oficial, aunque ya andaba siempre por aquí husmeando y cogiendo ideas de alguna que otra sección, por lo que ...
  #1 (permalink)  
Antiguo 07/04/2010, 05:59
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Información Redirección PHP con $_SERVER

¡¡Buenas!!

Este es mi primer post oficial, aunque ya andaba siempre por aquí husmeando y cogiendo ideas de alguna que otra sección, por lo que he decidido registrarme por fin e intentar ayudar en algunas cosas que he ido viendo a lo largo de los días. No lo hacía por pereza y más de una persona podría haber encontrado solución a sus problemas si hubiera estado registrado y hubiera contestado su post. Es lo que hay... xD

Pues lanzo una duda al aire nada más empezar:

Estoy construyendo una especie de "Landing" para mi servidor MAMP y necesito saber como poder hacer una acción en concreto que envuelve a las variables PHP $_SERVER.

Este es mi código:

Código PHP:
<?php

switch ($_SERVER['HTTP_HOST']) 
{

case 
"dominio1.com":
header("Location: http://www.dominio1.com/web/");
break;

case 
"dominio2.com":
header("Location: http://www.dominio2.com/web/");
break;

}

?>
Lo que vengo queriendo mas o menos es que todos mis dominios apunten a la IP de mi servidor y por lo tanto por defecto se muestre el directorio de publicación con el index.php.

Este index.php se encargará de redireccionar según con que dominio se acceda. Ok, hasta aquí bien (y funciona), es como hacer una redirección con un .htaccess.

Ahora lanzo mi pregunta:

¿Cómo puedo hacer para que si accedo mediante "dominio1.com/blahblah/blahblah/index.php" la redirección con "Location" me lleve a: "http://www.dominio1.com/web/blahblah/blahblah/index.php" ?

Yo he probado el siguiente código por parecerme lo más lógico, pero no funciona:

Código PHP:
<?php

switch ($_SERVER['HTTP_HOST']) 
{

case 
"dominio1.com":
header("Location: http://www.dominio1.com/web" $_SERVER['REQUEST_URI']);
break;

case 
"dominio2.com":
header("Location: http://www.dominio2.com/web" $_SERVER['REQUEST_URI']);
break;

}

?>
¿Alguien podría iluminarme con sabiduría? =)

Un saludo y muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 07/04/2010, 06:12
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Redirección PHP con $_SERVER

Para ver los distintos "valores" de $_SERVER, puedes hacer un print_r
Código PHP:
echo '<pre>';
print_r($_SERVER);
echo 
'<pre>'
Así verás si alguno tiene lo que quieres :)
  #3 (permalink)  
Antiguo 07/04/2010, 06:27
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: Redirección PHP con $_SERVER

Hola Eleazan,

Gracias por tu pronta respuesta; mi problema no es que no sepa que valor tiene cada variable, es simplemente que eso, que teóricamente esta bien, no funciona y quería saber si se me estaba escapando algo.

$_SERVER['HTTP_HOSTS'] : dominio1.com
$_SERVER['REQUEST_URI'] : blahblah/blahblah/index.php

:|

Halp!
  #4 (permalink)  
Antiguo 08/04/2010, 03:41
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: Redirección PHP con $_SERVER

¡Vengo cargado de noticias! Pero un poco perdido... Os actualizo con lo último que he detectado que me sucede:

Introduciendo "dominio.com" para que me lo redirija a otro dominio diferente...

Cita:
$host = $_SERVER['HTTP_HOST'];
$phpself = $_SERVER['PHP_SELF'];
$uri = $_SERVER['REQUEST_URI'];
$cadena = "$host$uri";

echo $host; ---> dominio.com
echo $$phpself; ---> /index.html (¿Por qué? xD)
echo $uri; ---> / (Ok...)
echo $cadena; dominio.com/ (Bien)
Ahora... Si lo que introduzco en el buscador es "dominio.com/carpeta1/archivo1.php" me da un error de NOT FOUND.
"The requested URL /carpeta1/archivo1.php was not found on this server." como si realmente estuviera intentando acceder a la carpeta en el dominio a redirigir sin hacer la redirección al nuevo previamente, "me se entiende?" xD

¡Gracias a todos por el apoyo que dais a la gente y un saludo!! :D
  #5 (permalink)  
Antiguo 08/04/2010, 05:53
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Redirección PHP con $_SERVER

tendrás que pasarlo por .htaccess. El php no es "hereditario". Si intentas acceder a una carpeta, buscará en esa carpeta ese archivo (o index por defecto). Creo que te liaste con eso :)

Si tu pones "midominio.com/algo/mipagina.php" buscará dentro de la raiz del dominio la carpeta algo, y luego mipagina.php, y le dará igual que en midominio.com tengas index.php.

Se me ocurre, o bien .htaccess, o "personalizar" los errores :)

Etiquetas: programacion, solucion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.