Question Rediriger à partir d'une page HTML


Est-il possible de mettre en place une page HTML de base pour rediriger vers une autre page en chargement?


1355
2018-03-23 20:58


origine


Réponses:


Essayez d'utiliser:

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

Remarque: Placez-le dans la section de tête.

En outre pour les navigateurs plus anciens si vous ajoutez un lien rapide au cas où il ne serait pas actualisé correctement:

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

Apparaîtra comme

Réorienter

Cela vous permettra quand même d'arriver là où vous allez avec un clic supplémentaire.


1931
2018-03-23 21:00



J'utiliserais les deux méta, et Code JavaScript et aurait un lien juste au cas où.

<!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>

Pour être complet, je pense que la meilleure façon, si possible, est d'utiliser des redirections de serveur, alors envoyez un 301 code d'état. C'est facile à faire via .htaccess fichiers utilisant Apacheou via de nombreux plugins utilisant WordPress. Je suis sûr qu'il existe également des plugins pour tous les principaux systèmes de gestion de contenu. De plus, cPanel a une configuration très facile pour les redirections 301 si vous l'avez installé sur votre serveur.


1007
2018-03-23 21:04



JavaScript

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

Meta tag

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

110
2018-03-23 21:01



je voudrais aussi ajouter un lien canonique pour aider votre SEO gens:

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

40
2018-02-06 00:34



La méta-balise suivante, placée entre l'intérieur de la tête, indiquera au navigateur de rediriger:

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

Remplacez les secondes par le nombre de secondes à attendre avant la redirection et remplacez l'URL par l'URL vers laquelle vous souhaitez la rediriger.

Alternativement, vous pouvez rediriger avec JavaScript. Placez ceci à l'intérieur d'une balise de script n'importe où sur la page:

window.location = "URL"

27
2018-03-23 21:01



Ceci est un résumé de toutes les réponses précédentes plus une solution supplémentaire utilisant HTTP Refresh Header via .htaccess

1. En-tête d'actualisation HTTP

Tout d'abord, vous pouvez utiliser .htaccess pour définir un en-tête de rafraîchissement comme celui-ci

Header set Refresh "3"

C'est l'équivalent "statique" de l'utilisation du header() fonctionner dans PHP

header("refresh: 3;");

Notez que cette solution n'est pas supportée par tous les navigateurs.

2. JavaScript

Avec un remplaçant URL:

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

Sans URL alternative:

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

Via jQuery:

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

3. Meta Refresh

Vous pouvez utiliser meta refresh lorsque les dépendances sur JavaScript et les en-têtes de redirection sont indésirables

Avec une autre URL:

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

Sans URL alternative:

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

En utilisant <noscript>:

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

En option

Comme recommandé par Billy Moon, vous pouvez fournir un lien d'actualisation en cas de problème:

Si vous n'êtes pas redirigé automatiquement: <a href='http://example.com/alternat_url.html'>Click here</a>

Ressources


27
2017-11-06 10:19



Il vaudrait mieux mettre en place 301 redirection. Voir l'article sur les outils pour les webmasters de Google 301 redirections.


26
2018-02-21 15:18



Si vous êtes impatient de suivre les standards web modernes, vous devriez éviter les méta-redirections HTML. Si vous ne pouvez pas créer de code côté serveur, vous devez choisir Redirection JavaScript au lieu.

Pour prendre en charge les navigateurs désactivés par JavaScript, ajoutez une ligne de méta-redirection HTML à noscript élément. le noscript méta-redirection imbriquée combinée avec canonical tag aidera vos classements de moteur de recherche aussi bien.

Si vous souhaitez éviter les boucles de redirection, vous devez utiliser location.replace() Fonction JavaScript

Un bon côté client URL de redirection le code ressemble à ceci (avec un Internet Explorer 8 et un correctif inférieur et sans délai):

<!-- 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 -->

21
2017-09-13 09:37



Vous pourriez utiliser un META "réorienter":

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

ou JavaScript rediriger (notez que tous les utilisateurs n'ont pas activé JavaScript, donc préparez toujours une solution de sauvegarde pour eux)

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

Mais je recommanderais plutôt d'utiliser mod_rewrite, si vous avez l'option.


17
2018-03-23 21:01