Apprendre .htaccess : Redirections (301 et 302)

Le fichier .htaccess permet de modifier la configuration d'un serveur web via l'écriture de règles (redirections, url rewriting...).

Icône de calendrier
Avancé
7 chapitres

Quand effectuer des redirections ?

Lors du développement ou de la maintenance d’un site web, il n’est pas rare de devoir effectuer des redirections. Cela peut par exemple être utile dans les cas suivants :

  • Changement de nom de domaine
  • Suppression d’une ressource
  • Modification d’URL
  • Redirection du domaine www vers le domaine de base
  • Redirection vers le protocole HTTPS
  • Etc.

Ces dernières sont généralement permanentes (code 301) ou temporaires (code 302).

Principaux types de redirection

Redirections simple

Il est possible de définir une redirection simple d’une page ou d’un domaine avec la directive suivante :

.htaccess
copié !
Redirect <code_redirection_http> <url_source> <url_cible>
.htaccess
copié !
# Rediriger le visiteur vers une nouvelle page (permanent)
Redirect 301 page1.php page2.php

# Rediriger le visiteur vers une nouvelle page (temporaire)
Redirect 302 page1.php page2.php

Si pour des redirections simples les directives Redirect ou RedirectMatch nous conviennent parfaitement, il y a des cas plus complexes où elles ne suffisent pas, notamment lorsque nous n’avons pas accès au fichier de configuration principal du serveur et pouvons uniquement accomplir certaines tâches via le fichier 📄 .htaccess.

Redirections avancées

Redirect est conçu pour traiter des tâches simples de manipulation d’URL.

Pour écrire des redirections plus avancées (nécessitant par exemple de manipuler des chaînes d’arguments des requêtes), nous avons bien souvent recours à la réécriture d’URL via le module mod_rewrite.

Nous détaillons son utilisation au chapitre suivant.