Question

Est-il possible de configurer une page HTML de base pour rediriger vers une autre page de chargement?

Était-ce utile?

La solution

Essayez d'utiliser:

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

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

De plus pour les navigateurs plus anciens si vous ajoutez un lien rapide au cas où il ne s'actualisera pas correctement:

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

Apparaîtra comme

Réorienter

Cela vous permettra toujours d'arriver à l'endroit où vous allez avec un clic supplémentaire.

Autres conseils

J'utiliserais les deux méta, et Code javascript et aurait un lien 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 l'exhaustivité, 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 à l'aide Apache, ou via de nombreux plugins en 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 301 redirections si vous avez installé sur votre serveur.

Javascrip

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

Meta Tag

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

Je voudrais aussi Ajoutez un lien canonique pour aider votre Référencement personnes:

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

Ceci est une somme de toutes les réponses précédentes et une solution supplémentaire utilisant un en-tête de rafraîchissement HTTP via .htaccess

1. En-tête de rafraîchissement 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"

Ceci est l'équivalent "statique" de l'utilisation du header() fonctionner dans Php

header("refresh: 3;");

Notez que cette solution n'est pas prise en charge par chaque navigateur.

2. JavaScript

Avec un alternatif 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 Rafesh lorsque les dépendances sur JavaScript et les en-têtes de redirection ne sont pas désirées

Avec une URL alternative:

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

Sans URL alternative:

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

Utilisant <noscript>:

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

Éventuellement

Comme recommandé par Billy Moon, vous pouvez fournir un lien de rafraîchissement au cas où quelque chose se passe mal:

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

Ressources

La méta-étiquette suivante, placée entre la tête, dira au navigateur de rediriger:

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

Remplacez les secondes par le nombre de secondes à attendre avant de rediriger et remplacez l'URL par l'URL que vous souhaitez rediriger.

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

window.location = "URL"

Il serait préférable de mettre en place un 301 Redirection. Voir l'article des outils de webmaster de Google 301 Redirection.

Si vous êtes impatient de suivre les normes Web modernes, vous devez éviter les redirections HTML simples. 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 de tristesse JavaScript, ajoutez une ligne de redirection de méta HTML vers un noscript élément. La noscript Redirection de méta imbriquée combinée avec le canonical Tag aidera également votre classement de moteur de recherche.

Si vous souhaitez éviter de rediriger des boucles, vous devez utiliser le location.replace() Fonction JavaScript.

Un côté client approprié Redirection URL Le code ressemble à ceci (avec un explorateur Internet 8 et une correction inférieure 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 -->

Vous pouvez utiliser un Méta "réorienter":

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

ou Javascrip Redirection (notez que tous les utilisateurs n'ont pas activé JavaScript, alors préparez-vous toujours une solution de sauvegarde pour eux)

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

Mais je préfère recommander d'utiliser mod_rewrite, si vous avez l'option.

Dès que la page se charge, le init La fonction est tirée et la page est redirigée:

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

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

Placez le code suivant entre leu003CHEAD> etu003C/HEAD> Tags de votre code HTML:

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

Le code de redirection HTML ci-dessus redirigera vos visiteurs vers une autre page Web instantanément. La content="0; Peut être changé en nombre de secondes que vous souhaitez que le navigateur attend avant de rediriger.

Mettez le code suivant dans le <head> section:

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

J'ai trouvé un problème en travaillant avec un jQuery Mobile Application, où dans certains cas, ma balise d'en-tête META n'atteindrait pas correctement une redirection (JQuery Mobile ne lit pas automatiquement les en-têtes pour chaque page, donc en mettant JavaScript, il est également inefficace à moins de l'envelopper en complexité). J'ai trouvé que la solution la plus simple dans ce cas était de mettre la redirection JavaScript directement dans le corps du document, comme suit:

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

Cela semble fonctionner dans tous les cas pour moi.

La manière simple qui fonctionne pour tous les types de pages est simplement d'ajouter un meta Tag dans la tête:

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

Vous devez utiliser JavaScript. Placez le code suivant dans vos étiquettes de tête:

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

Vous pouvez rediriger automatiquement par le code d'état HTTP 301 ou 302.

Pour PHP:

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

Juste pour faire bonne mesure:

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

Assurez-vous qu'il n'y a pas d'écho au-dessus du script, sinon il sera ignoré.http://php.net/manual/en/fonction.header.php

Utilisez simplement l'événement Onload de l'étiquette corporelle:

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

J'utilise un script qui redirige l'utilisateur de index.html vers relatif URL de la page de connexion

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

Moteur de rasoir pour un délai de 5 secondes:

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

Vous n'avez pas besoin de code JavaScript pour cela. Écrivez ceci dans le <head> Section de la page HTML:

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

Dès que la page se charge à 0 seconde, vous pouvez accéder à votre page.

Pour autant que je les comprends, toutes les méthodes que j'ai vues jusqu'à présent pour cette question semblent ajouter l'ancien emplacement à l'histoire. Pour rediriger la page, mais je n'ai pas l'ancien emplacement de l'histoire, j'utilise le replace méthode:

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

Il s'agit d'une solution de redirection avec tout ce que je voulais mais je n'ai pas pu trouver dans un joli extrait propre à couper et à coller.

Cet extrait présente un certain nombre d'avantages:

  • vous permet d'attraper et de conserver n'importe quel paramètres de questiontring que les gens ont sur leur URL
  • fait que le lien est dressé pour éviter la mise en cache indésirable
  • vous permet d'informer les utilisateurs des anciens et nouveaux noms de site
  • montre un compte à rebours d'installation
  • Peut être utilisé pour les redirectes de liaison profonde car les paramètres conservent

Comment utiliser:

Si vous avez migré un site entier, sur l'ancien serveur, arrêtez le site d'origine et créez un autre avec ce fichier comme fichier index.html par défaut dans le dossier racine. Modifiez les paramètres du site afin que toute erreur 404 soit redirigée vers cette page index.html. Cela attrape quiconque accède à l'ancien site avec un lien vers une page de sous-niveau, etc.

Accédez maintenant à la balise de script d'ouverture et modifiez les adresses Web Oldsite et Newsite, et modifiez la valeur des secondes au besoin.

Enregistrez et démarrez votre site Web. Job fait - le temps pour 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>

Utilisez ce code:

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

Votre attention s'il vous plaît: Mettez-le dans l'étiquette de tête.

Vous pouvez le faire en javascript:

location = "url";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top