Il existe dif­fé­rentes options pour rediriger un domaine ou un sous-domaine vers n’importe quel autre domaine, que ce soit vers sa propre présence sur le Web ou vers une adresse externe. Les trans­ferts se réalisent en général via .htaccess, PHP-Script, HTML-Meta-Tag et Ja­vaS­cript.

Comment fonc­tionne une re­di­rec­tion de nom de domaine ?

En principe, les re­di­rec­tions ont pour but d’annoncer au serveur que le contenu d’un site Internet a été transféré d’une URL à une autre. Ce processus est essentiel, surtout si l’adresse Web de base est la cible d’un lien entrant, si elle est en­re­gis­trée en tant que favori sur un na­vi­ga­teur ou si elle est bien ré­fé­ren­cée par les moteurs de recherche. Dans le dernier cas, la re­di­rec­tion indique au robot d’in­dexa­tion ou au na­vi­ga­teur que le contenu recherché a été déplacé et il renvoie à la nouvelle adresse. Dans le cas contraire, les uti­li­sa­teurs reçoivent à la place de la page Web voulue une page d’erreur 404, ce qui doit à tout prix être évité, surtout pour des sites com­mer­ciaux.

En ce qui concerne les boutiques en ligne qui disposent d’une page in­di­vi­duelle pour chaque produit : si un article n’est plus dis­po­nible, les clients po­ten­tiels sont tout sim­ple­ment redirigés vers une page Web pré­sen­tant des produits sem­blables. Ainsi, le flux d’uti­li­sa­teurs peut être mieux maîtrisé et le taux de rebond est minimisé.

Une re­di­rec­tion de nom de domaine permet, par ailleurs, de rendre un contenu ac­ces­sible sur plusieurs adresses Web. Toutes les adresses al­ter­na­tives sont tout sim­ple­ment trans­fé­rées vers une le domaine prio­ri­taire du site Web. Une telle re­di­rec­tion de domaine tout compris ne dépend donc pas de l’URL ou du chemin saisi par les uti­li­sa­teurs.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Méthodes de trans­ferts de nom de domaine

En principe, on dif­fé­ren­cie les re­di­rec­tions serveurs et les re­di­rec­tions clients. Pour les premières, un code de statut HTTP est com­mu­ni­qué à l’agent uti­li­sa­teur (le na­vi­ga­teur ou le robot d’in­dexa­tion) tandis que la deuxième se déroule sans donner de retour. Une re­di­rec­tion de nom de domaine via un client n’est donc pas prise en charge par un agent uti­li­sa­teur. En effet, elle implique que les uti­li­sa­teurs restent sur la page chargée et qu’ils ne soient pas redirigés vers la nouvelle cible. Une re­di­rec­tion serveur est donc à pri­vi­lé­gier. La dernière solution n’est en effet utile que si un transfert par serveur ne peut pas être réalisé en raison de problèmes tech­niques.

Une autre forme de transfert est la re­di­rec­tion sans chan­ge­ment d’URL, souvent appelée « re­di­rec­tion trans­pa­rente » ou « re­di­rec­tion invisible » : avec cette méthode, l’URL affichée pour l’uti­li­sa­teur n’est pas modifiée, bien que le client ait été redirigé vers un autre domaine et que le contenu d’une autre page Web soit affiché. Des problèmes d’in­dexa­tion et d’affichage de l’URL dans le na­vi­ga­teur peuvent cependant survenir, c’est pourquoi la re­di­rec­tion invisible ne peut pas être re­com­man­der sans réserve.

Conseil

Vous souhaitez mettre en place la re­di­rec­tion d’un nom domaine ? Apprenez étape par étape comment procéder dans le centre d’aide de IONOS.

La re­di­rec­tion serveur

Dans la plupart des cas, une re­di­rec­tion serveur s’effectue via un fichier de con­fi­gu­ra­tion .htaccess ou via un script PHP. L’avantage de ces deux méthodes est qu’il est possible de définir de manière in­di­vi­duelle quel code de statut HTTP doit être com­mu­ni­qué à l’agent uti­li­sa­teur. Cela permet aux ad­mi­nis­tra­teurs de site Internet de signaler une re­di­rec­tion de nom de domaine comme étant per­ma­nente ou tem­po­raire. Il convient d’utiliser les codes de statut HTTP 301 et 302 :

  • 301 – re­di­rec­tion per­ma­nente : la page demandée par l’agent uti­li­sa­teur est dis­po­nible de manière per­ma­nente sous une URL men­tion­née. L’ancienne URL est de fait invalide et une re­di­rec­tion 301 est donc ici né­ces­saire.
  • 302 – re­di­rec­tion tem­po­raire : la page demandée par l’agent uti­li­sa­teur est dis­po­nible sous une autre adresse de manière pro­vi­soire. Con­trai­re­ment au code 301, l’URL de base est toujours valide.

Si un code de statut HTTP n’est pas défini ex­pli­ci­te­ment, un serveur Web peut alors trans­mettre un code 302 via une re­di­rec­tion serveur. C’est une méthode à éviter. Il convient donc plutôt d’entrer le code ma­nuel­le­ment pour chaque re­di­rec­tion afin de prévenir toute erreur d’in­dexa­tion, voire même un dé­tour­ne­ment d’URL. Con­trai­re­ment aux re­di­rec­tions 301, le code de statut 302 com­mu­nique au na­vi­ga­teur que l’URL d’origine doit rester indexée. En ce qui concerne les re­di­rec­tions per­ma­nentes, une adresse de transfert est en con­cur­rence avec son adresse cible dans l’index des moteurs de recherche.

Re­di­rec­tion par .htaccess

En ce qui concerne .htaccess, il s’agit d’un fichier de con­fi­gu­ra­tion pour le serveur Web Apache avec lequel la con­fi­gu­ra­tion centrale est modifiée au niveau du ré­per­toire. Ce fichier permet aux ad­mi­nis­tra­teurs de sites Web de procéder à des réglages pour un nom de domaine et les sous-ré­per­toires qui en découlent. L’un des rôles du fichier .htaccess est de gérer la re­di­rec­tion de noms de domaine au niveau du serveur pour les adresses spé­ci­fiques liées à un projet web, en les re­di­ri­geant vers d’autres URL.

Il est possible de mettre en place des re­di­rec­tions de domaine à l’aide d’un code dans le fichier .htaccess. Si un fichier .htaccess est indiqué avec le code qui suit dans le ré­per­toire principal, la requête au nom de domaine d’origine est trans­fé­rée vers l’adresse www.exemple.fr.

Redirect 301 / http://www.exemple.fr/
apa­che­conf

La ligne de code démarre avec le code de statut HTTP Redirect 301 et définit ainsi le code de statut HTTP à trans­mettre par le serveur. Par la suite, le chemin d’accès vers les contenus redirigés apparaît. Il s’agit de tout ce qui se trouve après la barre oblique. À la fin se trouve l’adresse d’URL cible sur laquelle l’agent uti­li­sa­teur doit être redirigé : www.exemple.fr.

Avec cette méthode, il est possible de rediriger des fichiers uniques. Le code suivant montre une re­di­rec­tion .htaccess d’un domaine à un autre :

Redirect 301 /répertoire/document-exemple.html http://www.exemple.fr/exemple.html
apa­che­conf

Après un code de statut HTTP 301, il convient de définir le chemin d’accès du ré­per­toire du fichier (/répertoire/document-exemple.html) qui est redirigé de manière per­ma­nente et de l’ac­com­pag­ner de l’adresse cible (http://www.exemple.fr/exemple.html).

Sur un serveur Apache com­por­tant un module mod_rewrite, la re­di­rec­tion per­ma­nente d’une page d’exemple aurait l’allure suivante :

RewriteEngine On
RewriteRule ^répertoire/document-exemple.html$ http://www.exemple.fr/exemple.html [L,R=301]
apa­che­conf

Sur la ligne de code 01, le module mod_rewrite du serveur Web Apache est activé avec la commande RewriteEngine On. La ligne suivante commence par RewriteRule suivi du chemin d’accès du fichier de re­di­rec­tion, puis de l’adresse cible. L’accent cir­con­flexe (^) et le signe dollar ($) marquent le début et la fin du chemin d’accès tandis que L ca­rac­té­rise le dernier module mod_rewrite pour les requêtes ap­pro­priées. R=301 fait référence au code de statut HTTP 301.

Conseil

Dans un autre article du Digital Guide, nous avons rassemblé pour vous quelques astuces .htaccess.

Découvrez également notre article dédié au module Rewrite Engine pour en savoir plus sur le sujet.

Lors de la con­fi­gu­ra­tion d’une re­di­rec­tion d’un nom de domaine via .htaccess, il convient de con­si­dé­rer le fait que les données qui com­por­tent des erreurs dans le fichier de con­fi­gu­ra­tion ont un impact négatif sur le fonc­tion­ne­ment du site Internet, sans que cela se voie au premier abord. Étant donné que les mo­di­fi­ca­tions sont ef­fec­tives di­rec­te­ment après l’en­re­gis­tre­ment du fichier .htaccess, il faut que les con­fi­gu­ra­tions en question soient de toute façon vérifiées.

Re­di­rec­tion par PHP

Il est im­pos­sible de réaliser une re­di­rec­tion de nom de domaine en utilisant uni­que­ment une con­fi­gu­ra­tion .htaccess. Une commande avec un script PHP est également né­ces­saire (par exemple dans l’index.php). Les codes suivants affichent une re­di­rec­tion per­ma­nente vers une URL cible fictive www.exemple.fr.

<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.exemple.fr");
exit;
?>
php

Lors d’une re­di­rec­tion via un script PHP, le code de statut HTTP est défini via la fonction header (« en-tête » en français) dans la ligne de code 02. Dans cet exemple, une re­di­rec­tion 301 per­ma­nente doit être effective. Étant donné que les re­di­rec­tions serveurs sont gé­né­ra­le­ment tem­po­raires, il convient de la rendre ex­pli­ci­te­ment per­ma­nente en utilisant un code 301. L’adresse cible de la re­di­rec­tion du nom du domaine est indiquée sur la ligne 03 après header. Dans l’exemple, la re­di­rec­tion se fait vers l’adresse http://www.exemple.fr. La fonction exit de la ligne de code 04 met fin au script et empêche que les codes qui suivent ne soient effectifs. Pour qu’une re­di­rec­tion via un script PHP fonc­tionne, il faut que le bloc de codes ap­pa­raisse au début avant que le serveur ne livre des contenus HTML éventuels à la page Web de re­di­rec­tion.

La re­di­rec­tion client

Si, pour des raisons tech­niques, une re­di­rec­tion serveur ne peut se faire, les ad­mi­nis­tra­teurs de sites Internet peuvent également utiliser un client. Pour cela, il faut utiliser la balise méta HTML refresh ainsi que JavaScrit. L’in­con­vé­nient de cette méthode est que le serveur ne livre pas de code de statut HTML au na­vi­ga­teur ou au robot d’in­dexa­tion. Par con­sé­quent, le transfert n’est pas ex­pli­ci­te­ment exprimé. Par ailleurs, les re­di­rec­tions client ne sont pas prises en charge par tous les agents uti­li­sa­teurs, car il se peut que certains uti­li­sa­teurs ne soient pas redirigés.

L’autre in­con­vé­nient de cette méthode est son effet sur le ré­fé­ren­ce­ment sur les moteurs de recherche. En effet, une re­di­rec­tion client via le code de statut http 301 n’exclut pas de manière explicite une page Web de l’index des moteurs de recherche. Ainsi, il est possible que le nom de domaine redirigé soit en con­cur­rence avec le nom de domaine cible dans les SERPs (Search Engine Results Page). Con­trai­re­ment aux re­di­rec­tions serveurs, qui restent in­vi­sibles pour les uti­li­sa­teurs (hormis le chan­ge­ment d’adresse dans la barre du na­vi­ga­teur), les re­di­rec­tions clients ra­len­tis­sent les char­ge­ments de pages.

Re­di­rec­tion via HTML Meta Refresh

On réalise une re­di­rec­tion via HTML en utilisant des balises méta avec l’attribut http-equiv. Par ailleurs, il convient de créer un fichier HTML avec la balise qui convient dans l’en-tête pour la re­di­rec­tion. Afin de faire savoir aux uti­li­sa­teurs qu’une re­di­rec­tion est mise en place, il convient de l’indiquer dans un document HTML par une phrase ex­pli­ca­tive comme « vous allez bientôt être redirigé ». Voici un exemple de re­di­rec­tion de noms de domaine via HTML Meta Refresh :

<meta http-equiv="refresh" content="10; url=http://www.exemple.fr/">
html

La balise meta http-equiv=“refresh” permet au client de réaliser que le domaine est redirigé. Le processus et la durée de la re­di­rec­tion sont définis dans l’attribut content. Dans l’exemple, une re­di­rec­tion est effective vers le domaine cible www.exemple.fr après dix secondes.

Re­di­rec­tion par Ja­vaS­cript

Ja­vaS­cript permet de réaliser une re­di­rec­tion client. Même si celle-ci est similaire à celle avec la balise meta refresh, il convient de n’utiliser Ja­vaS­cript qu’en dernier recours, étant donné qu’il est possible que le langage de script ne soit pas pris en charge par tous les na­vi­ga­teurs pour des raisons de sécurité. Les re­di­rec­tions via Ja­vaS­cript peuvent notamment causer des problèmes pour les robots d’in­dexa­tion ainsi que pour les uti­li­sa­teurs qui utilisent le module NoScript. Voici un exemple classique de re­di­rec­tion de noms de domaine avec Ja­vaS­cript :

<script>
window.location.replace('http://www.exemple.fr');
</script>
html

La ligne de code 02 est la plus im­por­tante de toutes. Dans l’exemple, l’objet window.location est utilisé afin de renvoyer à l’adresse de site Internet actuel. La commande replace indique au na­vi­ga­teur de trans­fé­rer l’uti­li­sa­teur au nom de domaine cible qui se trouve entre pa­ren­thèses.

Domain-Checker
Aller au menu principal