Estos son algunos ejemplos de como redireccionar su dominio ó página Web usando código.
Redirección web en HTML
Ejemplo de redirección con espera de 10 segundos:
<html> <head> <meta http-equiv="Refresh" content="10;url=http://www.dominio.com"> </head> <body> <p>Hemos cambiado de dirección. En 10 segundos enlazarás a la nueva página. En caso contrario, pulsa en el siguiente enlace <a href="http://www.dominio.com">www.dominio.com</a></p> </body> </html>
Ejemplo de redirección sin espera:
<html> <head> <meta http-equiv="Refresh" content="0;url=http://www.dominio.com"> </head> </html>
Redirección web en Javascript
Ejemplo de redirección con espera:
<html> <head> <script type="text/javascript"> function redirection(){ window.location ="http://www.dominio.com"; } setTimeout ("redirection()", 10000); //tiempo en milisegundos </script> </head> <body> <p>Hemos cambiado de dirección. En 10 segundos enlazarás a la nueva página. En caso contrario, pulsa en el siguiente enlace <a href="http://www.dominio.com">www.dominio.com</a></p> </body> </html>
Ejemplo de redirección sin espera:
<html> <body> <script type="text/javascript"> window.location="http://www.dominio.com";</script> </body> </html>
Redirección web mediante PHP
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; ?>
Redirección mediante ASP
<% Response.Redirect ("http://www.dominio.com") %>
Igual que en PHP, debemos tener en cuenta que no podemos realizar una redirección cuando se ha mandado contenido al navegador, pero si trabajamos con buffer porque la redirección depende de algo que se controla posterioremente a la generación de contenido HTML podemos vaciarlo así:
<% Response.Buffer=true %> <html> <body>
Texto de la página </body> </html>
<% Response.Clear Response.Redirect ("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 el siguiente código :
<TABLE BORDER="1" WIDTH="90%" BORDERCOLOR="#304B58"> <TR> <TD valign="top"><B>Variable</B></TD> <TD valign="top"><B>Value</B></TD> </TR> <% For Each variable in Request.ServerVariables%> <TR> <TD><FONT FACE="Times New Roman" SIZE="1"><%= variable %></FONT></TD> <TD><FONT FACE="Times New Roman" SIZE="1"> <% If Request.ServerVariables(variable) = "" Then Response.Write " " Else Response.Write Request.ServerVariables(variable) End If %> </FONT></TD> </TR> <% Next %> </TABLE>
Y recogerlas utilizando un ejemplo como el siguiente :
<% encabezado = Request.ServerVariables("SERVER_NAME") ruta = Request.ServerVariables("APPL_PHYSICAL_PATH") fichero = Request.ServerVariables("SCRIPT_NAME") Response.Write encabezado Response.Write "<br>" Response.Write $ruta Response.Write "<br>" Response.Write $fichero %>