Générateur .htaccess
Configurez vos options et générez instantanément un fichier .htaccess optimisé pour Apache. Tout se passe dans votre navigateur — aucune donnée envoyée.
Générateur .htaccess
Configurez les options et copiez le fichier généré instantanément.
# ============================================================
# .htaccess généré par Gaprod — https://www.gaprod.fr/outils/generateur-htaccess
# ============================================================
<IfModule mod_rewrite.c>
RewriteEngine On
# ── Forcer HTTPS ─────────────────────────────────────────
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# ── Désactiver le listage de répertoires ─────────────────────
Options -Indexes
# ── Pages d'erreur personnalisées ─────────────────────────
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
# ── Compression Gzip / Deflate ──────────────────────────────
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/json application/xml
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
# ── Cache navigateur ────────────────────────────────────────
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
</IfModule>
# ── Configuration PHP ───────────────────────────────────────
<IfModule mod_php.c>
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 60
php_value memory_limit 256M
</IfModule>
# ── Fin du fichier .htaccess ─────────────────────────────────Qu'est-ce que le fichier .htaccess ?
Le fichier .htaccess (Hypertext Access) est un fichier de configuration distribué propre au serveur web Apache. Il permet de définir des directives de configuration qui s'appliquent au répertoire dans lequel il se trouve, ainsi qu'à tous ses sous-répertoires. C'est l'outil de configuration le plus accessible pour les utilisateurs d'hébergements mutualisés, car il ne nécessite pas d'accès root au serveur.
Le point initial dans le nom (.) en fait un fichier caché sur les systèmes Unix/Linux. Sur cPanel, le gestionnaire de fichiers dispose d'une option pour afficher les fichiers cachés. Le fichier est chargé par Apache à chaque requête vers un fichier dans le répertoire concerné, ce qui explique pourquoi un .htaccess très complexe peut légèrement impacter les performances — c'est un compromis à garder en tête pour des sites à très fort trafic.
Forcer HTTPS avec .htaccess
La redirection HTTP vers HTTPS est la règle la plus courante dans un .htaccess. Elle garantit que tous vos visiteurs accèdent à votre site via une connexion sécurisée, quel que soit le protocole qu'ils ont saisi :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>Le code R=301 indique une redirection permanente, ce qui permet aux moteurs de recherche de mettre à jour leur index et de transférer le jus de lien (link equity) vers la version HTTPS. Le L arrête le traitement des règles suivantes une fois cette règle appliquée.
Gestion du www : ajouter ou supprimer le préfixe
Pour le SEO, il est important de choisir une forme canonique de votre URL (avec ou sans www) et de rediriger systématiquement vers elle. Google traite exemple.fr et www.exemple.fr comme deux sites distincts si aucune redirection n'est en place, ce qui peut diluer votre autorité de domaine.
Combinez cette redirection avec l'attribut canonical (<link rel="canonical">) dans votre HTML pour signaler sans ambiguïté la version préférée aux moteurs de recherche.
Compression Gzip et performance
La compression Gzip (ou Brotli sur les serveurs plus récents) réduit significativement la taille des fichiers texte transmis entre le serveur et le navigateur. Les fichiers HTML, CSS et JavaScript peuvent être compressés de 60 à 80 %, réduisant le temps de chargement et la consommation de bande passante. C'est l'une des optimisations les plus simples et les plus efficaces pour améliorer le score PageSpeed Insights.
Notre générateur utilise mod_deflate, le module de compression standard d'Apache. Sur nos serveurs LiteSpeed, la compression est activée automatiquement et supporte également Brotli.
Cache navigateur : réduire les requêtes répétées
Les directives de cache (mod_expires) indiquent au navigateur combien de temps il peut conserver en cache les ressources statiques. Pour les images, polices et autres assets qui changent rarement, un cache d'un an est courant. Pour les CSS et JavaScript, un mois est généralement approprié — ou utilisez le cache-busting (suffixe de version dans le nom du fichier) pour forcer le rechargement à chaque déploiement.
Des TTL de cache longs peuvent réduire les requêtes vers votre serveur de 80 à 90 % pour les visiteurs récurrents, allégeant considérablement la charge serveur.
Bloquer le hotlinking d'images
Le hotlinking consiste pour un site tiers à intégrer directement une image hébergée sur votre serveur dans ses pages, consommant votre bande passante sans votre accord. La règle anti-hotlinking vérifie le Referer HTTP de chaque requête d'image — si ce Referer ne provient pas de votre domaine, la requête est bloquée (code HTTP 403).
Attention : certains clients légitimes (agrégateurs, lecteurs RSS, applications mobiles) n'envoient pas de Referer. La règle avec RewriteCond %{HTTP_REFERER} !^$ autorise explicitement les requêtes sans Referer pour éviter de bloquer ces cas.
Désactiver le listage de répertoires
Par défaut, si un répertoire ne contient pas de fichier index (index.html, index.php…), Apache affiche la liste de tous les fichiers qu'il contient. Cette option Options -Indexes est désactivée par défaut sur la plupart des hébergements cPanel pour des raisons de sécurité, mais il est toujours prudent de l'inclure dans votre .htaccess pour s'assurer qu'aucun répertoire sensible n'est exposé.
Paramètres PHP dans .htaccess
Sur les hébergements mutualisés, vous ne pouvez pas modifier le fichier php.ini global du serveur. En revanche, mod_php permet de surcharger certains paramètres PHP via .htaccess. Les plus utiles :
- upload_max_filesize et post_max_size : augmentez ces valeurs pour permettre le téléchargement de fichiers volumineux (médias, sauvegardes).
- max_execution_time : augmentez pour les scripts long-running (imports, exports de données).
- memory_limit : augmentez pour les applications gourmandes en mémoire (Magento, WordPress avec beaucoup de plugins).
Notez que ces directives ne fonctionnent qu'avec mod_php (PHP en tant que module Apache). Sur des configurations modernes avec PHP-FPM, vous devrez utiliser un fichier .user.ini à la racine de votre site.