Rediriger une page Web

Il est parfois nécessaire de rediriger vos visiteurs sur une autre page.

Exemples :

  • une page d'accueil rapide à charger redirige après un certain laps de temps le visiteur vers une page plus complète.
  • après un test d'autentification, le visiteur atteint soit une page d'accès privé soit une page dont les informations sont accessibles à tous.
  • utiliser des pages différentes en fonction du navigateur du visiteur, ou en fonction de la langue de son système.
  • rediriger le visiteur vers un nouveau site, et signaler aux moteurs de recherche que l'ancien site n'est plus valide.
  • etc.

Il existe plus d'une technique de redirection, et le choix d'une méthode ou d'une autre sera dépendant des motivations (voir exemples ci-dessus).

Inhaltsverzeichnis Haut

Redirection avec les Meta-Tags

Ce type de redirection présente l'avantage de pouvoir spécifier un délais pendant lequel la page sera affichée avant de renvoyer le visiteur vers une autre page. Dans le cas où la valeur du délais vaut zéro, la redirection est immédiate, mais le client doit quand-même charger les en-têtes de la page pour que le navigateur puisse déterminer la page à charger.

  1. <meta http-equiv="refresh" content="20; URL=https://www.gaudry.be/infobrol.html" />
  2. <title>Accueil rapide</title>
  3. </head>
  4. <h1>Bienvenue sur le site</h1>
  5. <p>Vous allez bientôt &ecirc;tre redirig&eacute;s vers la page d'accueil compl&egrave;te</p>
  6. </body>
  7. </html>

La portion de code qui nous intéresse est la suivante :

  1. <meta http-equiv="refresh" content="20; URL=https://www.gaudry.be/infobrol.html" />

Inhaltsverzeichnis Haut

Redirection en JavaScript

Si vous désirez tester une valeur en JavaScript, puis rediriger le visiteur en fonction de cette valeur, vous pouvez utiliser du code JavaScript.

Comme nous l'avons vu dans la partie consacrée au langage JavaScript, ce code est exécuté côté client (sur la machine du visiteur). Cela signifie que la page doit être chargée avant d'interpréter le code (ce qui pose des problèmes si vous désirez cacher une partie de la page aux visiteurs qui ne sont pas habilités à consulter ce contenu).
Un autre problème intervient avec ce genre de code : certains internautes désactivent la prise en charge du JavaScript, et nous ne sommes donc pas assurés de son exécution.

  1. <script language="javascript" type="text/javascript">
  2. //Recherche de l'information de langage
  3. if (navigator.browserLanguage)
  4. var language = navigator.browserLanguage;
  5. else
  6. var language = navigator.language;
  7. //Redirections en fonction du langage
  8. if (language.indexOf('fr') > -1)
  9. document.location.href = 'page_francais.html';
  10. else if (language.indexOf('nl') > -1)
  11. document.location.href = 'page_neerlandais.html';
  12. else if (language.indexOf('en') > -1)
  13. document.location.href = 'page_anglais.html';
  14. else if (language.indexOf('de') > -1)
  15. document.location.href = 'page_allemand.html';
  16. else
  17. //si la langue n'est pas dans celles citées ci dessus
  18. document.location.href = 'page_francais.html';
  19. </script>

La portion de code qui nous intéresse est la suivante :

  1. document.location.href = 'xxx.html';

Inhaltsverzeichnis Haut

Redirection en PHP : la fonction header()

Si le visiteur ne doit pas avoir accès au contenu du reste de la page, il est nécessaire d'utiliser un traitement côté serveur.
Un autre avantage de ce type de fonction est que l'effet est plus rapide : la nouvelle page est immédiatement envoyée par le serveur au lieu de l'ancienne.

  1. <?php
  2. header("Location: https://www.gaudry.be/infobrol.html");
  3. exit();
  4. ?>

Retenons en passant qu'il est possible de signifier que le document est définitivement déplacé :

  1. <?php
  2. header("Status: 301 Moved Permanently");
  3. header("Location: https://www.gaudry.be/infobrol.html");
  4. exit();
  5. ?>

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 07/04/2005, zuletzt geändert 27/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/html-redirections.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.