Si vous exploitez un site web sur un serveur Apache, le fichier .htaccess est l’un des outils les plus puissants à votre disposition. Il vous permet de contrôler le comportement de vos URL, qu’il s’agisse de redirections ou de réécriture d’URL, sans avoir à modifier la configuration de votre serveur.

Dans cet article, nous aborderons les bases de la redirection et de la réécriture d’ URL à l’aide du fichier .htaccess, à l’aide d’exemples et d’explications claires.

Qu’est-ce que le fichier .htaccess ?

.htaccess est l’acronyme de Hypertext Access. Il s’agit d’un fichier de configuration utilisé sur les serveurs web basés sur Apache, qui vous permet de modifier le comportement du serveur au niveau du répertoire.

Vous pouvez ainsi

  • Rediriger le trafic d’une URL vers une autre

  • Créer des URL propres (par exemple, /about au lieu de /about.php)

  • Restreindre l’accès à certaines pages

  • Activer HTTPS

  • Et bien d’autres choses encore

Redirection d’URL

1. 301 Redirection permanente

À utiliser lorsqu’une page a été déplacée de façon permanente vers une nouvelle URL.

Redirection 301 /old-page.html https://yourdomain.com/new-page.html

2. 302 Redirection temporaire

À utiliser lorsque la redirection est temporaire.

Redirection 302 /temp-page.html https://yourdomain.com/coming-soon.html

3. Redirection avec mod_rewrite

Vous pouvez également rediriger en utilisant RewriteRule :

RewriteEngine On
RewriteRule ^old-page$ https://yourdomain.com/new-page [R=301,L]

Réécriture d’URL (URL propres)

La réécriture d’URL est utilisée pour rendre les URL plus conviviales pour l’utilisateur et le référencement. Par exemple, au lieu de :

https://example.com/product.php?id=123

Vous pouvez utiliser :

https://example.com/product/123

1. Règle de réécriture de base

RewriteEngine On
RewriteRule ^product/([0-9] )$ product.php?id=$1 [L]

Cette règle indique à Apache :

  • Lorsque quelqu’un accède à /product/123

  • Réécrire en interne en produit.php?id=123

2. Supprimer l’extension .php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\N°.php -f
RewriteRule ^([^\.] )$ $1.php [L]

Cela permet aux utilisateurs d’accéder à example.com/about au lieu de example.com/about.php.

Meilleures pratiques

  • Sauvegardez toujours votre fichier .htaccess avant d’y apporter des modifications.

  • Utilisez [L] pour empêcher le traitement d’autres règles lorsqu’une correspondance est trouvée.

  • Testez vos redirections avec des outils comme httpstatus.io.

  • Ne mélangez pas trop Redirect et RewriteRule dans le même bloc – préférez RewriteRule pour plus de cohérence.

Bonus : Forcer le HTTPS avec .htaccess

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

Cela oblige tout le trafic à utiliser HTTPS, ce qui est essentiel pour la sécurité moderne et le référencement.

Conclusion

Le fichier .htaccess vous donne un contrôle incroyable sur le fonctionnement de vos URL. Qu’il s’agisse de rediriger d’anciennes pages, de nettoyer des URL désordonnées ou de sécuriser votre trafic, la maîtrise de ces règles simples peut grandement améliorer les performances de votre site web et l’expérience des utilisateurs.