Base de Conocimientos: Scripts/ Html/ PhP/ Asp
Redirección web mediante PHP
publicado por Johanna O. on 29 July 2015 09:19 PM

Ejemplo de redirección sin espera:

<?php

//Si queremos informar de que se trata de un cambio permanente (error 301)

//header( "HTTP/1.1 301 Moved Permanently" );

header ("Location: http://www.dominio.com");

?>

 

Ejemplo de redirección de subdominio.dominio.com a www.dominio.com/subdominio:

<?php 

// Obtenemos la página en la que ha estado antes el visitante

$pagina_anterior = "{$_SERVER['HTTP_HOST']}";

// Extraemos el subdominio con una expresión regular

preg_match('/^(www\.)?(.+)?.dominio.com/',$pagina_anterior,$encontrados); 

// Si hay un subdominio

if ($encontrados[2]=="subdominio") {

// Redireccionamos a www.dominio.com/subdominio

Header ("Location: http://www.dominio.com/subdominio");

exit;

}

?>

Debemos tener en cuenta que en PHP no podemos realizar una redirección cuando se ha mandado contenido al navegador, pero si la redirección depende de algo que se controla posteriormente a la generación de contenido HTML, podemos trabajar con buffer, de la siguiente forma:

<?php

ob_start();

?>

<html>

<body>

Texto de la página

</body>

</html>

<?

ob_end_clean();

header ("Location: http://www.dominio.com");

?>

Normalmente las redirecciones se realizan en base a variables que están recogidas en el servidor web. Puede consultar las variables que se ejecutan en su servidor ejecutando un comando phpinfo:

<?

echo phpinfo();

?>

Y recogerlas utilizando un ejemplo como el siguiente:

<?

$encabezado  = $_SERVER['HTTP_HOST'];

$ruta = $_SERVER['DOCUMENT_ROOT'];

$fichero = $_SERVER['PHP_SELF'];

echo $encabezado;

echo "<br>";

echo $ruta;

echo "<br>";

echo $fichero;

?>
Fuente: arsys.info
(0 voto(s))
útil
No es de utilidad

Ecuaideas®