Foros del Web » Programando para Internet » PHP »

Caso de redireccionamiento de Web

Estas en el tema de Caso de redireccionamiento de Web en el foro de PHP en Foros del Web. Hola a tod@s: Una compañera y yo llegamos a hacer una web en PHP, contratando su hosting y cogiéndole su dominio, vamos a llamarle, por ...
  #1 (permalink)  
Antiguo 19/02/2010, 04:40
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 7 meses
Puntos: 3
Caso de redireccionamiento de Web

Hola a tod@s:

Una compañera y yo llegamos a hacer una web en PHP, contratando su hosting y cogiéndole su dominio, vamos a llamarle, por ejemplo, http://www.nuestraweb.com

Pero al final yo me enteré que el cliente final que encargó la web ya tenía su web y su hosting propios (vamos a llamarla http://www.clienteweb.com) y quería que a la web que nosotros habíamos realizado se accediera así:
http://www.clienteweb.com/nuestraweb/

Directamente, nuestra web no podía alojarse en su sitio web pues la nuestra estaba hecha en PHP y la suya en JSP.
Así que el informático del cliente optó por poner un documento dentro de http://www.clienteweb.com/nuestraweb/ con el siguiente código para enlazar y mostrar http://www.clienteweb.com/nuestraweb/, así hacer ver que nuestra web pertenece también a la suya:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>geu BIOK</title>
</head>
<frameset rows="0,*" frameborder="NO" border="0" framespacing="0">
<frame src="about:blank" name="mainFrame">
<frame src="http://www.nuestraweb.com" name="bottomFrame" noresize>
</frameset>
<noframes><body>
Acceso a <a href="http://www.nuestraweb.com">geu BIOK</a>
</body></noframes>
</html>
Es decir, está usando la técnica de visualizar la web a través de otra dentro de un frame.

Lo que quiere además es que si alguien pone en la barra de direcciones http://www.nuestraweb.com, automáticamente, se redirija a http://www.clienteweb.com/nuestraweb/

Vale, yo intenté hacer un redireccionamiento simple de un sitio a otro, pero como el segundo ( http://www.clienteweb.com/nuestraweb/ ) contiene al primero ( http://www.nuestraweb.com ) , se me crea un bucle de carga infinito que en algunos casos bloquea el navegador.

Los redireccionamientos que he probado son por ejemplo en el .htaccess, estos tres posibles:

#redirect /index.php http://www.clienteweb.com/nuestraweb/
#redirect http://www.nuestraweb.com/index.php http://www.clienteweb.com/nuestraweb/
#redirect 301 /index.php http://www.clienteweb.com/nuestraweb/

También he probado a capturar la URL del navegador para ver que si se accedía por http://www.nuestraweb.com, se hiciera redireccionamiento a la otra y sino no se hiciera. Esrto lo he probado de dos formas:

Código PHP:
/* 1a OPCIÓN
// Viendo desde dónde se accede a la web - Inicio
//    >> ruta absoluta del nombre del script siendo ejecutado actualmente
$accediendo_desde = $_SERVER['SCRIPT_FILENAME'];

//    + Accediendo desde la propia web, se redirige a la de clienteweb.com
if (substr_count($accediendo_desde, 'nuestraweb.com') >= 1) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.clienteweb.com/nuestraweb/');
} else {
//    + Accediendo desde la web de clienteweb.com/nuestraweb/, no hay redirección
header('HTTP/1.1 301 Moved Permanently');
header('Location: ./'.$pref_lng[$s_lng].'/home/index.php');
//header('Location: ./'.$pref_lng[$s_lng].'/mantenimiento/index.php');
}
////exit;
// Viendo desde dónde se accede a la web - Final
*/


/* 2a OPCIÓN
//echo $_SERVER['HTTP_HOST'];exit;
if ($_SERVER['HTTP_HOST'] == "www.nuestraweb.com" || $_SERVER['HTTP_HOST'] == "nuestraweb.com"){
header("location:http://www.clienteweb.com/nuestraweb/");
} else {
header('HTTP/1.1 301 Moved Permanently');
header('Location: ./'.$pref_lng[$s_lng].'/home/index.php');
//header('Location: ./'.$pref_lng[$s_lng].'/mantenimiento/index.php');
}
*/ 
En todos los caso probados, se produce el bucle infinito mencionado.

Luego, ¿es posible o no conseguir el objetivo deseado? ¿Alguna sugerencia?
__________________
Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 19/02/2010, 04:43
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Caso de redireccionamiento de Web

Sí...

que el frame apunte a index2.php

Y q index.php sea
Código PHP:
<?php header("Location: clienteweb.com/nuestraweb"); ?>
Y en index2 iria tu index normal :O

Te valdría esa opción?
  #3 (permalink)  
Antiguo 19/02/2010, 05:38
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Caso de redireccionamiento de Web

Entonces a ver si he entendido bien

Yo en mi sitio, creo un segundo index en la raíz, index2.php, y le paso el contenido que tiene ahora index.php. Y en este hago pongo solamente

Código PHP:
<?php header("Location: clienteweb.com/nuestraweb"); ?>

Y en el archivo que lleva el frame en el sitio http://www.clienteweb.com/nuestraweb/ en vez de enlazarlo poniendo

Código:
<frame src="http://www.nuestraweb.com" name="bottomFrame" noresize>
poner

Código:
<frame src="http://www.nuestraweb.com/index2.php" name="bottomFrame" noresize>

Pues no sé, habrá que probar pponiendome en contacto con el informático del sitio del cliente.

A ver si funciona. Gracias por responder.
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 22/02/2010, 06:23
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Caso de redireccionamiento de Web

Vale, pues ya está probado y funcionó.

Gracias, Eleazan.
__________________
Saludos,

zacktagnan.
=================================================

Etiquetas: redireccionamiento
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 21:56.