Comment faire une redirection 301 avec le fichier .htaccess : http vers https, www, page, domaine…

Vous souhaitez mettre en place des redirections 301 pour votre site web et vos pages ? Voici les commandes à implémenter dans votre fichier htaccess.

Comment effectuer ses redirections 301 via le fichier .htaccess ? Crédits : GettyImages / Duangphorn Wiriya

Une redirection 301 pour rediriger les internautes de façon permanente

Une redirection 301 permet de rediriger de façon permanente une page web vers une nouvelle URL. Elle indique au navigateur web et aux moteurs de recherche que la page d’origine a changé afin que ces derniers mettent à jour leur index. Ainsi, la redirection 301 est un excellent moyen de lutter contre les erreurs 404, qui envoient un très mauvais signal à Google mais aussi aux utilisateurs d’un site. On utilise régulièrement les redirection 301 dans le cadre de refonte d’un site web, de changement de nom de domaine ou de passage au HTTPS. Les redirections 301 permettent aussi de rediriger automatiquement les internautes qui n’indiquent pas les 3W (www), ou inversement.

Le fichier .htaccess, comment ça marche ?

Le fichier .htaccess est situé à la racine d’un site web. Pour le modifier, vous devez y accéder en le téléchargeant depuis votre FTP. Les codes expliqués plus bas peuvent être placés à n’importe quel endroit du ficher .htaccess. Ce fichier ne contient que du texte : vous pouvez l’ouvrir avec un éditeur de code, mais aussi avec un simple bloc note.

Attention : avant toute manipulation, assurez-vous de sauvegarder la version d’origine de votre fichier .htaccess. Une mauvaise manipulation peut causer de graves dysfonctionnement sur le site, mieux vaut avoir une sauvegarde de secours.

Rediriger une page avec le fichier .htaccess (simple 301)

RedirectPermanent /repertoire/page-a-rediriger.html http://www.exemple.net/repertoire/page-de-destination.html

Dans le cas où vous souhaitez rediriger seulement une page, il suffit de copier l’URL de la page d’origine et de renseigner ensuite la nouvelle URL de la page, avec sa nouvelle URL – le tout précédé de la mention RedirectPermanent.

Rediriger un répertoire

RedirectPermanent /repertoire http://www.nom-de-domaine.com/repertoire-de-destination

Rediriger un domaine

RedirectPermanent / http://www.nom-de-domaine.com/

Rediriger un sous-dossier vers un domaine

RedirectPermanent /nom-de-sous-dossier http://www.nom-de-domaine.com/

Rediriger du HTTP vers HTTPS

Pour ce type de redirection, nous avons besoin d’indiquer que des règles de réécriture seront utilisées, avec RewriteEngine On. Si plusieurs redirections utilisent des expressions régulières (regex), indiquez-le une fois, au début de votre fichier htaccess.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !
RewriteRule ^(.*)$ https://www.nom-de-domaine.com/$1 [R=301,L]

Selon votre serveur, vous pouvez aussi tester (en lieu et place de la seconde ligne) :

  • RewriteCond %{HTTPS} !=on
  • RewriteCond %{HTTPS} off

Forcer le www avec une redirection

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Rediriger toutes les pages en changeant l’extension (ici, HTML vers PHP)

RedirectMatch 301 (.*)\.html$ http://www.nom-de-domaine.com$1.php

Recevez par email toute l’actualité du digital