Réponse rapide

Le fichier .htaccess est un fichier de configuration au niveau d’un répertoire pour les serveurs Apache. Il prend effet immédiatement et permet, sans redémarrer le serveur, d’implémenter des protections par mot de passe, des règles de blocage d’adresses IP, des pages d’erreur personnalisées et des redirections (301/302) via mod_rewrite ou Redirect.

À savoir avant de commencer

  • Ces instructions s’appliquent si votre hébergement utilise Apache et autorise l’utilisation de .htaccess. Si votre site est servi par Nginx ou par un proxy frontal, adaptez les règles côté serveur frontal (Nginx ne lit pas .htaccess).
  • Faites toujours une sauvegarde du fichier existant avant toute modification.
  • Les erreurs de syntaxe dans .htaccess provoquent souvent une erreur 500 — prévoyez un moyen de restauration rapide (SSH, FTP, ou cPanel).

Localiser et afficher le fichier .htaccess (cPanel)

  1. Ouvrez cPanel → Gestionnaire de fichiers (File Manager).
  2. Dans les paramètres (Settings), activez "Show Hidden Files (dotfiles)" pour afficher .htaccess.
  3. Rendez-vous dans le dossier racine du domaine : public_html pour le domaine principal ou public_html/votre-domaine.tld pour un addon/sous‑domaine.
  4. Si aucun .htaccess n’existe, créez‑en un nouveau (Fichier → Nouveau fichier → nommer « .htaccess »).

Dossier public_html et commandes du Gestionnaire de fichiers cPanel

Éditer .htaccess en sécurité

  1. Téléchargez localement une copie avant modification (ou renommez‑le en .htaccess.bak via SSH/FTP).
  2. Éditez depuis File Manager → Edit, ou récupérez le fichier via FTP, modifiez localement puis téléversez.
  3. Appliquez les changements par petites étapes et testez immédiatement chaque modification dans une fenêtre de navigation privée (pour éviter le cache).
  4. En cas d’erreur 500, restaurez la sauvegarde (remplacez le fichier par la copie) pour rétablir l’accès.

Directives et exemples pratiques

Conservez l’ordre : directives générales en haut (ex. forcer HTTPS), règles spécifiques après.

1) Protection par mot de passe (Basic Auth)

Procédé : stocker les identifiants hachés en dehors du répertoire web et référencer le fichier depuis .htaccess.

AuthType Basic
AuthName "Zone protégée"
AuthUserFile "/home/votre_utilisateur/.htpasswds/public_html/chemin/passwd"
Require valid-user

Étapes concrètes :

  • Générez le fichier de mots de passe (format htpasswd) et placez‑le hors de public_html.
  • Vérifiez le chemin absolu (chemin UNIX depuis /home/).
  • Testez l’accès : le navigateur doit demander identifiant/mot de passe.

2) Bloquer / autoriser des IP (Apache 2.4+)

Bloquer une IP :

<RequireAll>
  Require all granted
  Require not ip 1.2.3.4
</RequireAll>

Autoriser seulement certaines IP :

<RequireAll>
  Require all denied
  Require ip 1.2.3.4
  Require ip 5.6.7.8
</RequireAll>

Remarques :

  • Ne mélangez pas les directives obsolètes Order/Allow/Deny avec Require.
  • Pour bloquer une plage CIDR : Require not ip 203.0.113.0/24.

3) Pages d’erreur personnalisées

Exemple : renvoyer une page 404 située dans la racine du domaine :

ErrorDocument 404 /404.html

Conseils :

  • Indiquez le chemin relatif à la racine du site (commençant par /).
  • Testez aussi les codes 403, 500 selon vos besoins.

4) Redirections (mod_rewrite et Redirect)

Rappel : utilisez 301 pour une redirection permanente (SEO) et 302 pour une redirection temporaire.

Rediriger tout example.com vers domain.com (301) :

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

Forcer HTTPS (solution simple) :

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Redirection d’une page unique :

Redirect 301 /ancienne-page.html https://votresite.tld/nouvelle-page/

Conseils pratiques pour les redirections :

  • Evitez les redirections en chaîne : préférez une redirection directe vers la destination finale.
  • Testez les règles avec curl (ex. curl -I https://votresite.tld/ancienne-page.html) pour voir le code HTTP et l’en‑tête Location.

Bonnes pratiques de sécurité et d’organisation

  • Ne stockez jamais de fichiers d’identifiants (passwd) dans un répertoire accessible publiquement.
  • Placez les directives globales (HTTPS, canonical) en tête du fichier, puis les règles spécifiques.
  • Commentez (#) les blocs au lieu de les supprimer pour pouvoir revenir en arrière facilement.
  • Limitez l’accès à l’édition du .htaccess aux personnes de confiance.

Dépannage — cas fréquents

Erreur 500 (Internal Server Error) après modification

  1. Renommez ou restaurez la sauvegarde du .htaccess pour revenir à l’état précédent.
  2. Vérifiez le journal d’erreurs Apache si vous y avez accès (erreur détaillée indiquant la directive fautive).
  3. Retirez la dernière règle ajoutée et réintroduisez les règles une à une pour isoler la faute.

Redirection en boucle

  • Contrôlez les règles qui interagissent (ex. redirection WWW ↔ non‑WWW combinée à forcer HTTPS).
  • Ajoutez des RewriteCond explicites pour éviter de réappliquer la règle sur des URL déjà redirigées.

Ma page d’erreur personnalisée n’apparaît pas

  • Vérifiez que le chemin indiqué dans ErrorDocument est correct et accessible (ex. /404.html).
  • Assurez‑vous qu’aucune règle de redirection n’interfère avant le code d’erreur.

Outils et alternatives

  • Pour des redirections simples, l’outil Redirections de cPanel ajoute automatiquement les règles sans risque de syntaxe : c’est plus sûr pour des changements basiques (domaine → domaine, www ↔ non‑www, HTTP → HTTPS).
  • Pour un filtrage d’IP plus avancé et global, utilisez l’outil Bloqueur d’IP (IP Blocker) dans cPanel ou un pare‑feu applicatif au niveau du serveur (Imunify360, pare‑feu du fournisseur).

Étapes rapides récapitulatives (checklist)

  1. Sauvegarder le fichier existant (.htaccess.bak).
  2. Activer l’affichage des fichiers cachés et ouvrir .htaccess via File Manager.
  3. Ajouter/modifier une règle en bas du fichier (après avoir réfléchi à l’ordre des règles).
  4. Enregistrer et tester en navigation privée et avec curl -I si possible.
  5. Si problème, restaurer la sauvegarde et analyser le fichier d’erreurs du serveur.

Liens internes utiles

  • Accéder au Gestionnaire de fichiers
  • Comment forcer SSL ou HTTPS avec .htaccess?
  • Comment créer une page d'erreur personnalisée sur cPanel?
  • Comment bloquer une adresse IP dans cPanel
  • Utiliser l'outil Redirections dans cPanel

Limitations et points d’attention

  • Les directives décrites ne s’appliquent que si Apache autorise .htaccess (AllowOverride activé). Sur certains environnements mutualisés, certaines directives peuvent être restreintes par l’hébergeur.
  • Si votre site est derrière un CDN ou un proxy (Cloudflare, etc.), vérifiez que les règles ne sont pas contrecarrées par les réglages du CDN (ex : forcer HTTPS côté CDN).
  • Les modifications impactent immédiatement les visiteurs — planifiez les changements pendant des périodes de faible trafic si possible.

Besoin d’aide pour une règle spécifique ?

Si vous voulez que nous relisions une règle avant de l’enregistrer, copiez‑la ici (en masquant tout mot de passe). Nous pouvons vérifier la syntaxe et indiquer les améliorations possibles.

Documentation de référence

Documentation consultée le 13 octobre 2026. Les outils peuvent varier selon votre hébergement.