Pregunta

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

¿Fue útil?

Solución

Intenta usar:

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

Nota: Coloque en la sección de la cabeza.

Además para 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

Redireccionar

Esto aún le permitirá llegar a donde va con un clic adicional.

Otros consejos

Yo usaría ambos meta, y 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 redireccionamientos del servidor, así que envíe un 301 código de estado. Esto es fácil de hacer a través de .htaccess archivos usando apache, o mediante 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 fácil para 301 redireccionamientos si lo tiene instalado en su servidor.

Javascript

<script type="text/javascript">
    window.location.href = "http://example.com";
</script>

Metaetaje

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

me gustaría además Agregue un enlace canónico para ayudar a su SEO gente:

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>

Esta es un resumen de todas las respuestas anteriores más una solución adicional utilizando el encabezado de actualización HTTP a través de .htaccess

1. Encabezado de actualización HTTP

En primer lugar, puede usar .htaccess para establecer un encabezado de actualización como este

Header set Refresh "3"

Este es el equivalente "estático" de usar el header() función en Php

header("refresh: 3;");

Tenga en cuenta que esta solución no es compatible con cada navegador.

2. JavaScript

Con una alternativa Url:

<script>
    setTimeout(function(){location.href="http://example.com/alternate_url.html"} , 3000);
</script>

Sin una URL alternativa:

<script>
    setTimeout("location.reload(true);",timeoutPeriod);
</script>

Vía jQuery:

<script>
    window.location.reload(true);
</script>

3. Meta refrescante

Puede usar meta actualización cuando las dependencias de JavaScript y los encabezados de redirección no están deseados

Con una URL alternativa:

<meta http-equiv="Refresh" content="3; url=http://example.com/alternate_url.html">

Sin una URL alternativa:

<meta http-equiv="Refresh" content="3">

Usando <noscript>:

<noscript>
    <meta http-equiv="refresh" content="3" />
</noscript>

Opcionalmente

Según lo recomendado por Billy Moon, puede proporcionar un enlace de actualización en caso de que algo salga mal:

Si no se redirige automáticamente: <a href='http://example.com/alternat_url.html'>Click here</a>

Recursos

La siguiente metaetiqueta, colocada entre el interior de la cabeza, le dirá al navegador que redirige:

<meta http-equiv="Refresh" content="seconds; url=URL"> 

Reemplace segundos con el número de segundos para esperar antes de redirige y reemplace la URL con la URL a la que desea que redirige.

Alternativamente, puede redirigir con JavaScript. Coloque esto dentro de una etiqueta de script en cualquier lugar de la página:

window.location = "URL"

Sería mejor configurar un 301 redireccionar. Consulte el artículo de Webmaster Tools de Google 301 redireccionamientos.

Si espera seguir los estándares web modernos, debe evitar meta redireccionamientos HTML simples. Si no puede crear código del lado del servidor, debe elegir JavaScript Redirect en cambio.

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

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

Un lado del cliente adecuado Redirección de URL El código se ve así (con un Explorer 8 y una solución más baja 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://stackoverflow.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0; URL=https://stackoverflow.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://stackoverflow.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 -->

Podrías usar un META "Redirección":

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

o Javascript Redirección (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 recomendar usar mod_rewrite, si tienes la opción.

Tan pronto como se carga la página, el init se dispara la función y la página se redirige:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <script>
            function init()
            {
               window.location.href = "www.wherever.com";
            }
        </script>
    </head>

    <body onload="init()">
    </body>
</html>

Coloque el siguiente código entre elu003CHEAD> yu003C/HEAD> Etiquetas de su código HTML:

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

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

Pon el siguiente código en el <head> sección:

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

Encontré un problema mientras trabajaba con un jQuery mobile Aplicación, donde en algunos casos mi etiqueta de encabezado Meta no lograría una redirección correctamente (jQuery Mobile no lee los encabezados automáticamente para cada página, por lo que poner JavaScript también es ineficaz a menos que lo envuelva en complejidad). Encontré que la solución más fácil en este caso era poner 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í.

La forma simple que funciona para todo tipo de páginas es solo agregar un meta Etiqueta 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>

Debe usar JavaScript. Coloque el siguiente código en las etiquetas de su cabeza:

<script type="text/javascript">
 window.location.assign("http://www.example.com")
</script>

Puede redirigir automáticamente por 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");
?>

Solo por si acaso:

<?php
header("Location: example@example.com", TRUE, 303);
exit;
?>

Asegúrese de que no haya ECHO por encima del guión, de lo contrario será ignorado.http://php.net/manual/en/function.header.php

Simplemente use el evento de encendido de la etiqueta del cuerpo:

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

Utilizo un script que redirige al usuario desde index.html a pariente URL de página de inicio de sesión

<html>
  <head>
    <title>index.html</title>
  </head>
  <body onload="document.getElementById('lnkhome').click();">
    <a href="/Pages/Login.aspx" id="lnkhome">Go to Login Page<a>
  </body>
</html>

Motor de afeitar Para un retraso de 5 segundos:

<meta http-equiv="Refresh"
         content="5; url=@Url.Action("Search", "Home", new { id = @Model.UniqueKey }))">
<!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>

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

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

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

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 antigua de la historia, uso el replace método:

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

Esta es una solución de redirección 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 atrapar y retener cualquier parámetro de consulta que la gente tiene en su URL
  • Hace que el enlace no sea Qiue para evitar el almacenamiento en caché no deseado
  • le permite informar a los usuarios de los nombres de sitios antiguos y nuevos
  • muestra una cuenta regresiva establecida
  • se puede usar para redireccionamientos de enlace profundo a medida que retiene los parámetros

Cómo utilizar:

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

Ahora vaya a la etiqueta de secuencia de comandos de apertura y edite las direcciones web antiguas y de periódicos, y cambie el valor de segundos según sea necesario.

Guarde y comience su sitio web. Trabajo hecho: hora de tomar 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>

Use este código:

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

Por favor pon atención: Ponlo en la etiqueta de la cabeza.

Puedes hacerlo en JavaScript:

location = "url";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top