Comment créer une redirection 301 ?

Avec une redirection 301, un serveur web renvoie le code de statut HTTP 301 au client qui fait la requête (par exemple, ça peut être un Google-Bot ou un utilisateur. Le code de statut indique au client que la ressource demandée (une adresse URL par exemple) a été définitivement déplacée et qu’elle est maintenant disponible sur une nouvelle adresse URL.

On peut facilement créer une redirection 301 avec PHP ou avec un fichier .htaccess et le module mod_rewrite, si on utilise un serveur web Apache.

Créer une redirection 301 avec PHP

Si on veut créer une redirection 301 avec PHP, le document source doit être un fichier PHP. Si c’est le cas, le code PHP pour la redirection 301 sera ajouté directement dans le document qui est censé d’être redirigé.

Colle le code source suivant dans la première ligne du document que tu veux rediriger :

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domain.com/the-new-name.php");
header("Connection: close");
?>

Fonction : en collant le code source ci-dessus dans le fichier « the-old-name.php », auquel on peut accéder par « domaine.com/the-old-name.php », tous les visiteurs seront maintenant redirigés vers la nouvelle source « domain.com/the-new-name.php » (ligne 3) et le code de statut HTTP 301 moved permanently va s’afficher.

Créer une redirection 301 avec .htaccess

Si tu veux créer une redirection 301 avec un fichier .htaccess, il faut avoir un serveur web Apache et il faut activer le module mod_rewrite. Étant donné qu’Apache est l’un des serveurs web les plus populaires, presque tous les gros hébergeurs web vont l’utiliser. De plus, le module mod_rewrite est déjà activé dans la plupart des cas. Le fichier .htaccess est aussi inclus par défaut dans la plupart des lots d’hébergements web.

Colle le code source suivant dans le fichier .htaccess :

RewriteEngine On
RewriteRule  ^/directory/a-document.html http://www.domain.com/a-document.html [R=301]

Fonction: en utilisant la commande « RewriteEnginge On », le module mod_rewrite du serveur web Apache sera activé. La deuxième ligne du code commence par « Redirect 301 » et définit le code de statut HTTP qui devrait s’afficher. Ensuite, tu précise le chemin que le document qui va être redirigé doit prendre – par exemple, http://www.domain.com/directory/a-document.html. Puis il faut ajouter un espace et écrire l’adresse URL ciblée sur la même ligne – l’adresse URL ciblée est l’adresse URL vers laquelle tu veux rediriger Google-Bot ainsi que les utilisateurs.

Dans notre exemple, on ne peut plus trouver le fichier « a-document.html » sur le « /directory/ », mais on le trouve au niveau supérieur, à la racine du domaine.

Créer une redirection 301 avec NGINX, Lighttpd ou Microsoft Internet Information Services (IIS)

Créer une redirection 301 sur d’autres serveurs web, comme NGINX, Lighttpd ou IIS, n’est pas si simple pour les utilisateurs sans expérience.

Explication en vidéo par Matt Cutts / Google à ce sujet

Y a-t-il une limite au nombre de redirections 301 (permanentes) que je peux faire sur un site ?

Y a-t-il une limite au nombre de redirections 301 (permanentes) que je peux faire sur un site ? Combien de redirections puis-je enchaîner ?

Plus d’informations à ce sujet :