Cómo redirigir una página HTML a otra al cargar
¿Es posible configurar una página HTML básica para redirigir a otra página al cargar?
Intenta usar:
<meta http-equiv="refresh" content="0; url=http://example.com/" />
Nota: Colóquelo en la <head>
sección.
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
Redirigir
Esto aún te permitirá llegar a tu destino con un clic adicional.
Usaría código meta y 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 utilizar redireccionamientos del servidor, así que envíe un código de estado 301 . 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 existen complementos para los principales sistemas de gestión de contenidos. Además, cPanel tiene una configuración muy sencilla para redireccionamientos 301 si lo tiene instalado en su servidor.
javascript
<script type="text/javascript">
window.location.href = "http://example.com";
</script>
metaetiqueta
<meta http-equiv="refresh" content="0;url=http://example.com">
También agregaría un enlace canónico para ayudar a su gente de SEO :
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
Este es un resumen de todas las respuestas anteriores más una solución adicional que utiliza el encabezado de actualización HTTP a través de .htaccess
Encabezado de actualización HTTP
En primer lugar, puedes usar .htaccess para configurar un encabezado de actualización como este
Header set Refresh "3"
Este es el equivalente "estático" de usar la
header()
función en PHPheader("refresh: 3;");
Tenga en cuenta que esta solución no es compatible con todos los navegadores.
javascript
Con una URL alternativa :
<script> setTimeout(function(){location.href="http://example.com/alternate_url.html"} , 3000); </script>
Sin una URL alternativa:
<script> setTimeout("location.reload(true);",timeoutPeriod); </script>
Usando el
window
objeto:<script> window.location.reload(true); </script>
Metaactualización
Puede utilizar la meta actualización cuando las dependencias de JavaScript y los encabezados de redireccionamiento no sean 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, puedes proporcionar un enlace de actualización en caso de que algo salga mal:
Si no eres redirigido automáticamente:<a href='http://example.com/alternat_url.html'>Click here</a>
Recursos
Metaactualización de Wikipedia
El impacto en el rendimiento de META REFRESH
¿Actualizar (recargar) una página una vez usando jQuery?