Qu'est-ce qu'un fichier .htaccess ?
Le fichier .htaccess est un fichier de configuration puissant utilise par les serveurs web Apache pour controler le comportement du serveur repertoire par repertoire. Le nom signifie "hypertext access" et le fichier est un pilier de l'administration des serveurs Apache depuis les premiers jours du web. Contrairement aux fichiers de configuration principaux d'Apache (httpd.conf ou apache2.conf), qui necessitent un redemarrage du serveur pour prendre effet, les modifications .htaccess sont appliquees immediatement a la requete suivante. Cela rend .htaccess particulierement precieux dans les environnements d'hebergement mutualise ou les utilisateurs n'ont pas acces a la configuration principale du serveur.
Lorsqu'Apache recoit une requete, il verifie les fichiers .htaccess dans chaque repertoire depuis la racine du document jusqu'au repertoire contenant le fichier demande. Les directives de tous les fichiers .htaccess correspondants sont fusionnees, les directives des repertoires plus specifiques ayant priorite sur celles des repertoires parents. Ce comportement en cascade vous permet de definir des parametres par defaut a l'echelle du site dans le .htaccess racine et de les remplacer dans des sous-repertoires specifiques selon les besoins.
Cas d'utilisation courants du .htaccess
Redirections HTTPS et www
Forcer le HTTPS garantit que tout le trafic vers votre site est chiffre. La regle de redirection utilise le module mod_rewrite d'Apache pour verifier si la connexion actuelle n'utilise pas HTTPS et, si c'est le cas, redirige vers la version HTTPS avec une redirection 301 permanente. De meme, vous pouvez standardiser votre domaine en redirigeant www vers non-www ou inversement. Ces redirections sont importantes pour le SEO car les moteurs de recherche traitent les URL www et non-www comme des sites distincts, et avoir les deux actifs peut diviser votre autorite de liens et causer des problemes de contenu duplique.
Compression Gzip et mise en cache du navigateur
L'activation de la compression gzip via mod_deflate peut reduire la taille des reponses textuelles de 60 a 80 pour cent. Les regles .htaccess specifient quels types MIME compresser, incluant generalement HTML, CSS, JavaScript, JSON, XML et SVG. La mise en cache du navigateur utilise mod_expires ou mod_headers pour definir les en-tetes Cache-Control et Expires pour les ressources statiques comme les images, les feuilles de style et les fichiers JavaScript. En demandant aux navigateurs de mettre en cache ces ressources pendant des jours ou des semaines, vous eliminez les telechargements redondants et ameliorez considerablement les temps de chargement des pages pour les visiteurs recurrents.
En-tetes de securite et controle d'acces
Les en-tetes de securite protegent votre site contre les attaques web courantes. X-Content-Type-Options empeche le reniflage de type MIME. X-Frame-Options empeche le clickjacking en controlant si votre page peut etre integree dans des iframes. X-XSS-Protection active le filtre XSS integre du navigateur. Referrer-Policy controle la quantite d'informations d'URL partagees lorsque les utilisateurs quittent votre site. La desactivation du listage des repertoires empeche les visiteurs de parcourir votre structure de fichiers lorsqu'aucun fichier index n'est present. La protection des fichiers sensibles comme .htaccess lui-meme, .env et les fichiers de configuration empeche l'exposition accidentelle des mecanismes internes du serveur.
Protection contre le hotlink
La protection contre le hotlink empeche d'autres sites web d'integrer directement vos images, videos et autres fichiers media, ce qui consomme votre bande passante sans aucun benefice. Les regles mod_rewrite verifient l'en-tete HTTP Referer et bloquent les requetes provenant de domaines autres que le votre. Les requetes legitimes de votre propre domaine et des robots des moteurs de recherche sont autorisees, tandis que les requetes d'autres domaines sont soit bloquees avec une reponse 403 Forbidden, soit redirigees vers une image de remplacement.
Foire aux questions
Qu'est-ce qu'un fichier .htaccess ?
Un fichier de configuration pour les serveurs web Apache qui applique des parametres repertoire par repertoire. Il controle les redirections, l'acces, la mise en cache, la compression, les en-tetes de securite et les pages d'erreur personnalisees sans necessiter l'acces a la configuration principale du serveur.
Ou placer le fichier .htaccess ?
Placez-le dans le repertoire racine de votre site web (generalement public_html ou www). Les regles s'appliquent a ce repertoire et a tous les sous-repertoires. Le fichier doit avoir les permissions 644 et des fins de ligne de style Unix.
Le fichier .htaccess affecte-t-il les performances ?
Apache lit les fichiers .htaccess a chaque requete, ce qui ajoute une surcharge. Sur les sites a fort trafic, placer les directives dans la configuration principale est preferable. Pour la plupart des sites en hebergement mutualise, l'impact est negligeable.
Le fichier .htaccess peut-il forcer le HTTPS ?
Oui. En utilisant mod_rewrite, vous redirigez tout le trafic HTTP vers HTTPS avec une redirection 301 permanente. Cela doit etre l'une des premieres regles de votre fichier .htaccess.
Que sont les en-tetes de securite dans .htaccess ?
Des en-tetes de reponse HTTP definis via mod_headers qui demandent aux navigateurs d'activer des fonctionnalites de securite. Ils empechent le reniflage MIME, le clickjacking, les XSS et la fuite de referant.
Save your results & get weekly tips
Get calculator tips, formula guides, and financial insights delivered weekly. Join 10,000+ readers.
No spam. Unsubscribe anytime.