redireccionar - Redirigir desde una página HTML




redireccionar url (17)

JavaScript

<script language="javascript">
    window.location.href = "http://example.com"
</script>

Etiqueta meta

<meta http-equiv="refresh" content="0;url=http://example.com">

¿Es posible configurar una página HTML básica para redirigir a otra página en carga?


Coloque el siguiente código entre las etiquetas <HEAD> y </HEAD> de su código HTML:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://example.com/index.html">

El código de redireccionamiento HTML anterior redirigirá a sus visitantes a otra página web al instante. El content="0; puede cambiarse a la cantidad de segundos que desea que el navegador espere antes de redirigir.


Encontré un problema mientras trabajaba con una aplicación jQuery Mobile , donde en algunos casos mi etiqueta de encabezado Meta no lograría una redirección adecuada (jQuery Mobile no lee los encabezados automáticamente para cada página, por lo que poner JavaScript tampoco es efectivo a menos que lo incluya) complejidad). Encontré que la solución más sencilla en este caso era colocar la redirección de JavaScript directamente en el cuerpo del documento, de la siguiente manera:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="0;url=myURL" />
    </head>

    <body>
        <p>You are not logged in!</p>
        <script language="javascript">
            window.location = "myURL";
        </script>
    </body>
</html>

Esto parece funcionar en todos los casos para mí.


Esta es una solución de redireccionamiento con todo lo que quería pero no pude encontrar en un fragmento limpio y agradable para cortar y pegar.

Este fragmento tiene una serie de ventajas:

  • le permite capturar y retener cualquier parametrización que tengan las personas en su url
  • hace el enlace unqiue para evitar el almacenamiento en caché no deseado
  • le permite informar a los usuarios de los nombres antiguos y nuevos del sitio
  • muestra una cuenta regresiva configurable
  • se puede utilizar para redireccionamientos de enlaces profundos como parámetros retenidos

Cómo utilizar:

Si migró un sitio completo, en el servidor anterior, detenga el sitio original y cree otro con este archivo como el archivo index.html predeterminado en la carpeta raíz. Edite la configuración del sitio para redirigir cualquier error 404 a esta página index.html. Esto atrapa a cualquiera que acceda al sitio anterior con un enlace a una página de subnivel, etc.

Ahora vaya a la etiqueta de script de apertura y edite las direcciones web de sitio antiguo y sitio nuevo, y cambie el valor de segundos según sea necesario.

Guarde y comience su sitio web. Trabajo hecho - tiempo para un café.

<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
<style>
body { margin: 200px; font: 12pt helvetica; }
</style>

</head>
<body>

</body>
<script type="text/javascript">

// Edit these to suit your needs.
var oldsite = 'http://theoldsitename.com'
var newSite = "https://thenewsitename.com";
var seconds = 20;  // countdown delay.

var path = location.pathname;
var srch = location.search;
var uniq = Math.floor((Math.random() * 10000) + 1);
var newPath = newSite + path + (srch === '' ? "?" + uniq : srch + "&" + uniq); 


document.write ('<p>As part of hosting improvements, the system has been migrated from ' + oldsite + ' to</p>');
document.write ('<p><a href="' + newPath + '">' + newSite + '</a></p>');
document.write ('<p>Please take note of the new website address.</p>');
document.write ('<p>If you are not automatically redirected please click the link above to proceed.</p>');
document.write ('<p id="dvCountDown">You will be redirected after <span id = "lblCount"></span>&nbsp;seconds.</p>');

function DelayRedirect() {
    var dvCountDown = document.getElementById("dvCountDown");
    var lblCount = document.getElementById("lblCount");
    dvCountDown.style.display = "block";
    lblCount.innerHTML = seconds;
    setInterval(function () {
        seconds--;
        lblCount.innerHTML = seconds;
        if (seconds == 0) {
            dvCountDown.style.display = "none";
            window.location = newPath;
        }
    }, 1000);
}
DelayRedirect()

</script>
</html>


Hasta donde los entiendo, todos los métodos que he visto hasta ahora para esta pregunta parecen agregar la antigua ubicación a la historia. Para redirigir la página, pero no tengo la ubicación anterior en el historial, utilizo el método de replace :

<script>
    window.location.replace("http://example.com");
</script>

La forma simple que funciona para todos los tipos de páginas es simplemente agregar una etiqueta meta en la cabeza:

<html>
    <head>
        ...
        <meta HTTP-EQUIV="REFRESH" content="seconds; url=your.full.url/path/filename">
        ...
    </head>
    <body>
        Don't put much content, just some text and an anchor.
        Actually, you will be redirected in N seconds (as specified in content attribute).
        That's all.
        ...
    </body>
</html>

No necesitas ningún código de JavaScript para esto. Escribe esto en la sección <head> de la página HTML:

<meta http-equiv="refresh" content="0; url=example.com" />

Tan pronto como la página se cargue a 0 segundos, puede ir a su página.


Podría usar un "redireccionamiento" de META :

<meta http-equiv="refresh" content="0; url=http://new.example.com/address" />

o redireccionamiento de JavaScript (tenga en cuenta que no todos los usuarios tienen habilitado JavaScript, así que siempre prepare una solución de respaldo para ellos)

<script language="javascript">
  window.location = "http://new.example.com/address";
</script>

Pero prefiero usar mod_rewrite , si tienes la opción.


Puede redirigir automáticamente mediante el código de estado HTTP 301 o 302.

Para PHP:

<?php
    Header("HTTP/1.1 301 Moved Permanently");
    Header("Location: http://www.redirect-url.com");
?>


Si está deseando seguir los estándares web modernos, debe evitar las redirecciones meta de HTML simples. Si no puede crear un código del lado del servidor, debe elegir la redirección de JavaScript en su lugar.

Para admitir navegadores deshabilitados para JavaScript, agregue una línea de redireccionamiento meta HTML a un elemento noscript . La redirección meta anidada de noscript combinada con la etiqueta canonical también ayudará a su posicionamiento en los motores de búsqueda.

Si desea evitar los bucles de redirección, debe usar la función de location.replace() JavaScript.

Un código de redireccionamiento de URL del lado del cliente adecuado se ve así (con un Internet Explorer 8 y una corrección menor y sin demora):

<!-- Pleace this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0; URL=https://.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->

Solo usa el evento onload de la etiqueta del cuerpo:

<body onload="window.location = 'http://example.com/'">

Trate de usar:

<meta http-equiv="refresh" content="0; url=http://example.com/" />

Nota: Colóquelo en la sección de cabeza.

Además, para los navegadores más antiguos, si agrega un enlace rápido en caso de que no se actualice correctamente:

<p><a href="http://example.com/">Redirect</a></p>

Aparecerá como

Redirect

Esto aún te permitirá llegar a donde vas con un clic adicional.


Usa este código:

<meta http-equiv="refresh" content="0; url=https://google.com/" />

Por favor presta atención: ponlo en la etiqueta de la cabeza.



Usaría tanto el código meta como el código JavaScript y tendría un enlace por si acaso.

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="0; url=http://example.com">
        <script type="text/javascript">
            window.location.href = "http://example.com"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
    </body>
</html>

Para completar, creo que la mejor manera, si es posible, es usar redirecciones del servidor, así que envíe un código de estado 301 . Esto es fácil de hacer a través de archivos .htaccess usando Apache , o a través de numerosos complementos usando WordPress . Estoy seguro de que también hay complementos para todos los principales sistemas de gestión de contenido. Además, cPanel tiene una configuración muy sencilla para redireccionamientos 301 si tiene eso instalado en su servidor.


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Redirect to a page</title>
    </head>
    <body onload="window.location.assign('http://example.com')">

    </body>
</html>




html-head