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:
Es decir, está usando la técnica de visualizar la web a través de otra dentro de un frame.<!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>
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');
}
*/
Luego, ¿es posible o no conseguir el objetivo deseado? ¿Alguna sugerencia?