Bon, aujourd’hui, ce billet n’intéressera qu’une petite partie de mes lecteurs — et aussi quelques autres qui tomberont dessus grâce aux moteurs de recherche. Il ne s’agira pas de considérations sur le monde tel qu’il va ou sur les religions, ni d’une anecdote ou de choses vues, et pas plus d’un livre nouvellement lu. Ce sera un simple partage pratique, utile à des personnes s’occupant de sites web. Car je viens de passer de longues heures irritantes à essayer de trouver la solution d’un petit problème. Alors que je désespérais d’y parvenir, j’ai enfin trouvé la réponse tout à l’heure.
Parmi les sites dont je m’occupe, il en est un dont j’ai dû changer l’adresse, en l’assignant à un nouveau nom de domaine: tout le site a été transféré de anciendomaine.com vers nouveaudomaine.com — sans rien changer: même contenu et même structure.
Bien sûr, étant donné que le site était actif depuis plusieurs mois déjà, des visiteurs vont trouver des liens vers des articles qui ne sont plus accessibles sur anciendomaine.com. Comment faire pour leur éviter de se retrouver sur une page d’erreur? Je savais qu’il existait des moyens de rediriger d’un site vers un autre en insérant quelques lignes de code dans le fichier .htaccess existant (ou à créer si pas encore existant) à la racine de l’ancien site, de façon à ce que chaque lien sur l’ancien domaine redirige automatiquement le visiteur vers le même article sur le nouveau domaine (à condition qu’il demeure à la même place dans la structure du site).
Cela semblait tout simple, même si j’avais été intrigué de voir différents sites suggérer différents codes. J’ai donc essayé, pensant résoudre le problème en quelques minutes. Finalement, j’y ai passé plusieurs heures frustrantes. Certains codes rendaient le site inaccessible. D’autres n’avaient aucun effet. D’autres encore redirigeaient uniquement la page d’accueil du site, mais pas les autres, en dépit des assurances prodiguées dans les guides en ligne que je consultais. Même un expert que j’ai approché a déclaré forfait, en me disant que le code qu’il utilisait habituellement ne fonctionnait pas.
Finalement, alors que je m’étais déjà résigné, j’ai trouvé sur un site que je ne connaissais pas un code pratiquement identique (à deux ou trois caractères près) à un code que j’avais déjà utilisé. Je l’ai testé sans y croire… et miracle! la redirection a enfin fonctionné, non seulement pour la page d’accueil du site, mais aussi pour toutes les autres que j’ai testées! Voici donc ce code tout simple à placer dans le fichier .htaccess à la racine de l’ancien site:
RewriteEngine on
RewriteRule ^(.*)$ http://www.nouveaudomaine.com/$1 [R=301,L]
Si vous avez besoin d’un tel code et l’utilisez, pensez bien à remplacer ‘nouveaudomaine.com’ par le site vers lequel vous redirigez votre contenu, et rappelez-vous que la structure et le contenu sur le nouveau domaine doivent être exactement identiques à ceux de l’ancien.
Ah, les lecteurs de nos sites ne sont souvent pas conscients du temps que nous investissons non pas à nous occuper du contenu (qui nous motive à créer ces sites), mais à résoudre de petits problèmes techniques cruciaux pour le confort des visiteurs et un accès aisé à ce qu’ils souhaitent lire!… Que d’heures passées à tester des lignes de code que je ne comprends qu’à moitié (et encore!) au lieu d’être plongé dans une passionnante lecture! J’espère au moins que ce billet épargnera un jour cette frustration à un autre webmaster.