Comment rediriger automatiquement les visiteurs

Quand on change de domaine ou l'URL d'un article, on doit en raison des liens retours et de l'indexation dans les moteurs de recherche, rediriger les visiteurs sur la nouvelle adresse. Plusieurs procédés sont possibles.
Noter que pour les moteurs de recherche, seules les redirections 301 sont valables et cela requiert .htaccess ou PHP.

Utilisation de .htaccess (serveur Apache)

Un fichier ".htaccess" à la racine du site (ou dans un sous-répertoire s'il concerne le contenu de celui-ci) sera pris en compte par les moteurs de recherche. Il contiendra une ligne selon le format:

RewriteEngine on
redirect 301 /répertoire/fichier site-web/répertoire/fichier


Exemple:

RewriteEngine on
redirect 301 /mapage.html http://www.example.com/autrepage.html  

Pour rediriger le site tout entier, on met la racine du site et la destination, par exemple:

RewriteEngine on
redirect 301 /  http://www.example.com/

ou encore:

RewriteEngine on
RewriteRule ^(.*)$ http://www.example.com/ [R=301]

Si votre compte contient un répertoire "www", .htaccess se place dans le "www" et peut être placé encore dans les sous-répertoires, avec des options propres à ceux-ci.
Le fichier doit être au format Unix.

Utilisation de frames

Si le serveur (un serveur Windows, par exemple) ne reconnait pas ".htaccess" ou la commande "redirect", un frameset permet une redirection automatique de l'internaute. Le fichier index.html contient les lignes suivantes, à la place de la balise "body":

<frameset rows="*,0" cols="*" border="0">
  <frame src="http://www.example.com" name="mapage" border="0"
     frameborder="NO" RESIZE scrolling="no">
  <frame src=""> 
</frameset> 

Noter que le nom de site affiché dans le champ d'url du navigateur restera toujours l'adresse que l'internaute aura tapé.

Utilisation de JavaScript

<script language="JavaScript"> 
    this.location="http://www.example.com/index.html";      
</script>
<noscript> <a href="http://www.example.com/index.html">Nouvelle URL</a> </noscript>

Cela ne fonctionne que si JavaScript n'est pas désactivé. Le code se place avant la section "body" qui peut contenir un lien vers la nouvelle page, sur lequel cliquera l'internaute quand JavaScript est désactivé sur son navigateur.

Utilisation de PHP

Si la page a l'extension PHP et est donc traitée par l'interpréteur, on peut remplacer l'ancienne page par une redirection:

<?php 
   header("Status: 301 Moved Permanently"); 
   header("Location:http://www.example.com/mapage.php"); 
?>

L'URL est celle de la nouvelle page.

Voir aussi...