Générateur de .htaccess
Activez ce dont vous avez besoin – redirections, HTTPS, en-têtes de sécurité, compression, cache – et obtenez un fichier .htaccess commenté pour Apache 2.4, avec des alertes sur les réglages qui pourraient vous bloquer l’accès.
- Apache 2.4
- Redirections + HTTPS
- En-têtes de sécurité
- Dans votre navigateur
Modèles
Un modèle règle tous les interrupteurs d’un coup et conserve vos redirections personnalisées. Rédigé pour Apache 2.4 ; les parties qui nécessitent un module optionnel sont placées dans <IfModule>, de sorte qu’un module absent ne peut pas casser le site.
Cette section est désactivée : rien de ce qu’elle contient n’est écrit dans le fichier.
Derrière un proxy, le serveur ne voit que du HTTP simple : la règle lit donc l’en-tête X-Forwarded-Proto à la place. Choisir la mauvaise configuration provoque une boucle de redirection.
Les anciennes adresses avec l’extension redirigent vers les adresses propres ; les fichiers restent à leur place.
Envoie vers un fichier d’entrée unique toute adresse qui n’est pas un fichier ou un dossier réel.
Utilisez / pour la racine du site ou, par exemple, /blog/. Pour Laravel et Symfony, le fichier se place dans le dossier public.
Redirections personnalisées
Aucune redirection personnalisée pour l’instant.
Chemin redirige le chemin et tout ce qui se trouve en dessous. Expression régulière compare le chemin complet commençant par / ; utilisez $1, $2 dans la cible pour les groupes capturés. 301 et 308 sont permanentes, 302 et 307 temporaires, 410 indique aux moteurs de recherche que la page a définitivement disparu.
Une par ligne ou séparées par des virgules. IPv4, IPv6 et plages telles que 198.51.100.0/24.
Cette section est désactivée : rien de ce qu’elle contient n’est écrit dans le fichier.
Enregistrez cet extrait comme un fichier .htaccess distinct à l’intérieur de chaque dossier d’envoi, par exemple /wp-content/uploads/ ou /uploads/. Les scripts envoyés ne pourront alors plus être exécutés.
Une par ligne ou séparées par des virgules. IPv4, IPv6 et plages telles que 198.51.100.0/24.
Un par ligne. Une partie du nom suffit ; la casse n’a pas d’importance.
Facultatif, sous-domaines compris.
Chemin facultatif d’une image affichée à la place. Laissez vide pour répondre 403.
Le fichier de mots de passe se crée séparément – avec la commande htpasswd ou l’outil de mots de passe de votre panneau d’hébergement – et doit être stocké en dehors du dossier web public. Ce générateur ne demande ni ne crée jamais de mots de passe.
Cette section est désactivée : rien de ce qu’elle contient n’est écrit dans le fichier.
HSTS ne s’annule pas rapidement : jusqu’à l’expiration de la durée, les visiteurs ne peuvent plus du tout accéder au site en HTTP. Commencez par 5 minutes. Preload demande aux navigateurs d’inscrire votre domaine en dur – le retrait prend des mois, et chaque sous-domaine doit fonctionner en HTTPS.
frame-ancestors est la forme moderne ; X-Frame-Options fonctionne aussi dans les très anciens navigateurs.
Quelle part de l’adresse est transmise lorsqu’un visiteur suit un lien.
Avancé. Laissez les deux non définis, sauf si vous savez que votre site en a besoin.
Cette section est désactivée : rien de ce qu’elle contient n’est écrit dans le fichier.
Les polices sont toujours mises en cache pendant un an. N’utilisez un an et « immutable » que si les noms de fichiers changent à chaque mise à jour, par exemple app.3f9a1c.js.
Cette section est désactivée : rien de ce qu’elle contient n’est écrit dans le fichier.
Pages d’erreur personnalisées
Les chemins commencent par /. Laissez un champ vide pour garder la page standard du serveur.
Une par ligne, avec le schéma et sans chemin : https://app.example.com
Ces lignes ne fonctionnent qu’avec mod_php. Avec PHP-FPM ou FastCGI – la configuration habituelle des hébergements modernes – une simple ligne php_value provoque une erreur 500 ; c’est pourquoi le bloc est placé dans <IfModule>. Dans ce cas, modifiez plutôt les valeurs dans .user.ini ou dans le panneau d’hébergement.
Un par ligne. Une partie du nom suffit ; la casse n’a pas d’importance.
.htaccess
Activez une section pour créer le fichier.
Sauvegardez d’abord le .htaccess existant. Une seule erreur de syntaxe ou un module manquant suffit pour que chaque page réponde « 500 Internal Server Error » – dans ce cas, remettez l’ancien fichier en place. Après l’envoi, testez la page d’accueil, une page intérieure et une redirection.
Le nom du fichier doit être exactement .htaccess. Certains navigateurs et téléphones suppriment le point initial ou ne peuvent pas enregistrer un tel nom – téléchargez alors htaccess.txt et renommez-le sur le serveur.
Vérifications
Comment générer un fichier .htaccess
Chaque option ajoute un bloc au fichier.
- 1
Choisissez un modèle ou partez de zéro
WordPress recommandé, Site statique, Laravel, Application monopage, Sécurité renforcée ou Vitesse règlent toutes les options d’un coup. Vos redirections personnalisées sont conservées.
- 2
Activez les sections et précisez les détails
Redirections et URL, sécurité, en-têtes de sécurité, performances et autres réglages. Le fichier et la liste des contrôles se mettent à jour au fur et à mesure.
- 3
Sauvegardez, mettez en ligne et testez
Copiez ou téléchargez le fichier, gardez une copie de l’ancien, déposez-le dans le dossier auquel il doit s’appliquer, puis testez la page d’accueil, une page intérieure et une redirection.
Ce que sait faire le fichier généré
Les blocs qui exigent un module facultatif sont placés dans <IfModule>.
Redirections et URL propres
Forcez HTTPS, ajoutez ou retirez www, les barres obliques finales et les extensions de fichier, déplacez un ancien domaine et ajoutez vos propres redirections par chemin ou expression régulière en 301, 302, 307, 308 ou 410.
Compatible proxy et CDN
Derrière Cloudflare ou un répartiteur de charge, la règle HTTPS lit l’en-tête <code>X-Forwarded-Proto</code>, ce qui évite la boucle de redirection habituelle.
Contrôle d’accès
Protection par mot de passe, listes d’adresses IP autorisées ou bloquées, user-agents bloqués, protection des images contre le hotlinking, et 404 pour les fichiers cachés, les sauvegardes et les fichiers de configuration.
En-têtes de sécurité
HSTS, X-Content-Type-Options, protection des cadres, Referrer-Policy, Permissions-Policy et une Content-Security-Policy de départ, qui peut d’abord fonctionner en mode report-only.
Performances
Compression Gzip et Brotli, durées d’expiration par type de fichier avec Cache-Control, types MIME corrects pour les formats modernes et suppression facultative des ETags.
Contrôles avant la mise en ligne
Signale les boucles de redirection, une règle IP ou un mode maintenance qui vous bloquerait l’accès, les adresses invalides, les risques du préchargement HSTS et les lignes PHP qui échouent sous PHP-FPM.
Confidentiel par conception
Tout fonctionne dans votre navigateur. Ce que vous saisissez, collez ou ouvrez n’est pas envoyé à un serveur.
Gratuit, sans inscription
Pas de compte, pas de limite, pas de filigrane – sur téléphone, tablette ou ordinateur.
Comment fonctionne .htaccess et comment éviter une erreur 500
Un fichier .htaccess est un fichier de configuration par dossier du serveur web Apache. Apache le lit à chaque requête et applique ses directives à ce dossier et à tout ce qu’il contient : vous pouvez ainsi modifier redirections, en-têtes et règles d’accès sans toucher à la configuration principale du serveur. Il ne fonctionne que si l’hébergeur l’autorise par AllowOverride, ce qui est normalement le cas en hébergement mutualisé. Les serveurs LiteSpeed comprennent la plupart de ces directives. Nginx, lui, ne lit pas du tout les fichiers .htaccess.
La plupart des règles reposent sur des modules : mod_rewrite pour les redirections et les URL propres, mod_headers pour les en-têtes de sécurité, mod_deflate et mod_expires pour la compression et le cache. Ce générateur écrit la syntaxe d’Apache 2.4, par exemple Require all denied au lieu de l’ancien Deny from all, et liste les modules utilisés par le fichier. L’ordre compte : les redirections précèdent un contrôleur frontal comme le bloc WordPress, sinon l’application répond la première et la redirection ne s’exécute jamais.
Une seule erreur de syntaxe, ou une directive que l’hébergeur n’autorise pas, et toutes les pages répondent « 500 Internal Server Error ». Gardez une copie du fichier qui fonctionne et remettez-la en place si cela arrive. Les pièges classiques sont les boucles de redirection – forcer HTTPS derrière un proxy avec la règle standard, ou une règle de barre oblique finale qui contredit le CMS – et une 301 que les navigateurs gardent longtemps en cache : testez donc d’abord les nouvelles redirections en 302. Traitez HSTS avec la même prudence : commencez par une durée courte avant de l’augmenter.
Les codes de statut de redirection dans .htaccess
| Code | Signification | À utiliser pour |
|---|---|---|
| 301 | Déplacement permanent | Une page ou un domaine déplacés définitivement ; les moteurs de recherche reportent l’ancienne adresse sur la nouvelle |
| 302 | Found (temporaire) | Les déplacements de courte durée et le test d’une règle avant de la rendre permanente |
| 307 | Temporaire, méthode conservée | Les redirections temporaires de formulaires et d’appels d’API, car un POST reste un POST |
| 308 | Permanente, méthode conservée | Les redirections permanentes de formulaires et de points d’accès d’API |
| 410 | Gone (supprimé) | Un contenu retiré volontairement et qui ne reviendra pas |
Conseils
- Après la mise en ligne, suivez chaque redirection saut par saut avec le Vérificateur de redirections – une chaîne de plusieurs redirections doit être ramenée à une seule.
- Avant de forcer HTTPS ou d’activer HSTS, vérifiez avec le Vérificateur SSL que le certificat couvre tous les noms d’hôte.
- Vérifiez avec le Vérificateur de statut HTTP que les en-têtes de sécurité et de cache arrivent vraiment.
- Si votre téléphone ou votre navigateur ne peut pas enregistrer un fichier dont le nom commence par un point, téléchargez
htaccess.txtet renommez-le en.htaccesssur le serveur.
Questions fréquentes
Vous ne trouvez pas votre réponse ? Contactez-nous — nous répondons rapidement.
Où placer le fichier .htaccess ?
Dans le dossier auquel il doit s’appliquer – en général la racine du site, souvent appelée public_html ou www. Les règles valent aussi pour tous les sous-dossiers. Le fichier s’appelle exactement .htaccess, avec le point initial et sans extension.
Comment rediriger HTTP vers HTTPS avec .htaccess ?
Activez « Forcer HTTPS ». Le générateur écrit une règle mod_rewrite qui envoie chaque requête http:// vers https:// avec une 301. Si le site est derrière Cloudflare ou un autre proxy, choisissez cette configuration de serveur, sinon la règle tourne en boucle.
Pourquoi une erreur 500 Internal Server Error après la mise en ligne ?
Le fichier contient une directive que le serveur n’accepte pas : une erreur de syntaxe, un module non chargé ou un réglage que l’hébergeur n’a pas autorisé. Rétablissez le fichier précédent, puis ajoutez les sections une à une. Le journal d’erreurs du serveur indique la ligne exacte.
.htaccess fonctionne-t-il avec Nginx ?
Non. Nginx n’a pas de fichiers de configuration par dossier ; les mêmes règles doivent être écrites dans la configuration du serveur Nginx. .htaccess fonctionne avec Apache et, pour la plupart des directives, avec LiteSpeed.
Un fichier .htaccess ralentit-il mon site ?
Légèrement. Apache cherche le fichier dans chaque dossier du chemin, à chaque requête. Sur un site normal, ce coût est négligeable et bien inférieur au gain apporté par la compression et le cache. Si vous maîtrisez le serveur, les mêmes règles sont plus rapides dans la configuration principale.
Mes données sont-elles envoyées à un serveur ?
Non. L’outil fonctionne entièrement dans votre navigateur. Votre saisie n’est ni envoyée, ni journalisée, ni stockée sur nos serveurs.
Plus d’outils SEO et web gratuits
Générez balises et fichiers, vérifiez codes de statut, redirections, DNS et certificats – gratuitement et sans compte.