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).
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.
Code HTML (Redirection par Meta-Tag) (10 lignes)
La portion de code qui nous intéresse est la suivante :
<meta http-equiv="refresh" content="20; URL=https://www.gaudry.be/infobrol.html" />
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.
Code JavaScript (Redirection JavaScript) (19 lignes)
<script language="javascript" type="text/javascript"> //Recherche de l'information de langage if (navigator.browserLanguage) var language = navigator.browserLanguage; else var language = navigator.language; //Redirections en fonction du langage if (language.indexOf('fr') > -1) document.location.href = 'page_francais.html'; else if (language.indexOf('nl') > -1) document.location.href = 'page_neerlandais.html'; else if (language.indexOf('en') > -1) document.location.href = 'page_anglais.html'; else if (language.indexOf('de') > -1) document.location.href = 'page_allemand.html'; else //si la langue n'est pas dans celles citées ci dessus document.location.href = 'page_francais.html'; </script>
La portion de code qui nous intéresse est la suivante :
document.location.href = 'xxx.html';
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.
Retenons en passant qu'il est possible de signifier que le document est définitivement déplacé :
Version en cache
14/12/2024 10:35:22 Cette version de la page est en cache (à la date du 14/12/2024 10:35:22) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 07/04/2005, dernière modification le 27/03/2020
Source du document imprimé : https://www.gaudry.be/html-redirections.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.