Lorsque vous créez un site web et/ou que vous créez une nouvelle version de celui-ci (avec de nouvelles fonctionnalités, par exemple), vous aurez peut-être besoin de créer des redirections pour rediriger les visiteurs vers la nouvelle adresse d'une page, ...
Néanmoins, il existe différentes techniques pour rediriger un visiteur et certaines techniques sont plus adaptées pour certains cas que d'autres.
Par exemple, lors de la mise à jour d'un site, si une page change d'adresse (url), vous devrez rediriger les visiteurs grâce à des redirections serveur (via un fichier .htaccess ou via PHP) pour que les moteurs de recherches puissent mettre à jour leurs résultats de recherche sans que le référencement de votre site web et plus précisément de vos pages soit impacté.
Si vous avez hébergé votre site web sur un hébergement web Linux (ce qui est le cas dans la majorité des cas), le serveur web utilisé par défaut sera Apache.
Pour effectuer des redirections serveur avec un serveur web Apache, vous devrez créer un fichier ".htaccess" et utiliser l'instruction "Redirect" du module "mod_alias".
Parmi les différentes redirections possibles, vous avez :
Exemples :
Apache
Redirect /dossier https://www.mon_site.com/dossier Redirect permanent /dossier https://www.mon_site.com/dossier Redirect temp /dossier https://www.mon_site.com/dossier Redirect seeother /dossier https://www.mon_site.com/dossier Redirect gone /dossier https://www.mon_site.com/dossier
Vous pouvez aussi utiliser le code HTTP correspondant à la redirection que vous souhaitez effectuer.
Exemples :
Apache
Redirect 301 /dossier https://www.nouveau_domaine.com/dossier Redirect 302 /dossier https://www.nouveau_domaine.com/dossier Redirect 303 /dossier https://www.nouveau_domaine.com/dossier Redirect 304 /dossier https://www.nouveau_domaine.com/dossier
Note : pour + d'informations sur les codes HTTP, allez sur la page "Liste des codes HTTP" de Wikipedia.
S'il y a plusieurs types de redirections, c'est simplement parce qu'elles n'ont pas toutes le même but.
Par exemple, si vous changez d'hébergeur et d'adresse, nous vous conseillons de créer une redirection 301. Cela vous évitera de perdre votre référencement dans les moteurs de recherche (dont Google) car cette redirection redirigera aussi bien les visiteurs que les moteurs de recherche. Lorsque Google arrivera sur l'ancien hébergement, celui-ci remplacera les anciennes url par les nouvelles sans vous faire perdre votre positionnement au niveau du référencement.
Dans ce cas, vous créerez un fichier ".htaccess" à la racine du site sur l'ancien hébergeur et vous indiquerez ceci à l'intérieur :
Apache
Redirect 301 / https://www.nouveau_domaine.com/
Pour + d'informations sur les redirections serveur avec Apache, nous vous proposons d'aller lire la documentation officielle d'Apache en suivant ce lien.
Si vous avez utilisé le langage PHP pour créer votre site web dynamique, vous pouvez créer des redirections permanentes, temporaires, 301, 302, ... via sa fonction "header".
Notez que si vous utilisez un framework PHP, tel que CakePHP, Symfony, ... vous trouverez probablement des fonctions de redirection dans leur documentation officielle.
Attention : Cette fonction doit être utilisée avant le moindre caractère HTML.
En effet, si un espace a été envoyé avant l'utilisation de cette fonction, PHP vous affichera l'erreur : Headers already sent by ...
Pour rafraichir la page et rediriger le visiteur, vous devez utiliser le mot clé Refresh et spécifier un délai en secondes.
PHP
<?php // Infos de redirection $delai=3; // Délai en secondes $url='/test/'; // Adresse vers laquelle rediriger le visiteur // Redirection dans x secondes header('Refresh: '.$delai.';url='.$url); ?>
Attention : ne pas utiliser ce type de redirection si vous souhaitez aussi rediriger les moteurs de recherche comme Google ou Bing, par exemple.
Pour créer une vraie redirection, c'est-à-dire en retournant un code HTTP de redirection, vous devez d'abord modifier l'info "Status" de l'en-tête et ensuite effectuer la redirection 301, 302 ou autre via le mot clé : Location.
Reportez-vous à "HTTP/1.1 Specification" pour plus d'informations sur les en-têtes HTTP.
Informations :
PHP
<?php // On modifie l'information : Status header('Status: 301 Moved Permanently', false, 301); // On effectue ensuite la redirection header('Location: /test/'); ?>
Si vous souhaitez rediriger vos visiteurs vers une autre page automatiquement, vous pouvez utiliser la balise META "Refresh" qui vous permettra de définir un délai avant redirection si vous le souhaitez.
Néanmoins, sachez qu'il s'agit d'une redirection qui s'effectue côté client (car il s'agit d'une balise HTML) et non d'une redirection serveur (en PHP par exemple). Les moteurs de recherches (dont Google) ne suivront donc pas ces redirections HTML.
Cette balise META est à insérer entre les balises <head> et </head> de votre page.
HTML
<META http-EQUIV="Refresh" CONTENT="Temps; url=https://www.informatiweb.net/">
Pour configurer cette redirection, remplacez Temps par le nombre de secondes à attendre avant de rediriger le visiteur et indiquez la nouvelle adresse après "url=".
Si vous souhaitez rediriger vos visiteurs vers une autre page automatiquement, vous pouvez utiliser une fonction javascript qui vous permettra de définir un délai avant redirection si vous le souhaitez.
Néanmoins, il s'agira d'une redirection client (car le javascript est exécuté coté client) et non d'une redirection serveur.
Ce script doit être placé entre les balises <body> et </body> de votre page web.
L'avantage d'utiliser une redirection javascript est le fait de pouvoir la déclencher après un clic sur un bouton ou toute autre action faite par le visiteur.
Dans ce cas, le compte à rebours démarre dès le chargement de la page sur laquelle vous insérez ce code.
Si vous souhaitez rediriger le visiteur après x secondes, à partir du chargement de la page. Il vous suffit de taper ce pre dans votre page.
Note : de préférence, à la fin de la page. Avant la balise </body>.
Javascript
<script type="text/javascript"> var delai=3; // Delai en secondes var url='/dossier/page_de_destination.php'; // Url de destination setTimeout("document.location.replace(url)", delai + '000'); </script>
Si vous souhaitez déclencher cette redirection suite à un clic sur un bouton ou autre, nous vous conseillons de placer ce pre dans une fonction. Il vous suffira ensuite, d'appeler cette fonction via l'évènement souhaité.
Voici la fonction :
Javascript
<script type="text/javascript"> function redirection_js(url,delai){ setTimeout("document.location.replace('"+url+"')", delai + '000'); } </script>
Et voici comment l'utiliser pour l'évènement click (ou onclick). Vous pouvez bien sûr utiliser d'autres évènements comme "onmousedown", "onmouseover", ...
Pour utiliser notre fonction, on passe simplement les paramètres suivants :
- url : l'adresse vers laquelle rediriger le visiteur
- delai : délai en secondes avant redirection
Javascript
<input type="submit" name="mon_bouton" id="mon_bouton" value="Texte du bouton" onclick="redirection_js('/dossier/page_de_destination.php','3')" />
Web 18/11/2013
Web 9/3/2013
Web 12/6/2014
Web 3/11/2013
Contenu épinglé
InformatiWeb Pro
Contact
® InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire