Htaccess Apache

Le htaccess est un fichier de configuration Serveur

Le . »htaccess » ( hypertext access ) est un fichier qui fourni une méthode pour modifier la configuration d’un serveur HTTP Apache. Le htaccess est très utile lorsque un hébergeur n’autorise pas l’accès au fichier de configuration principal du serveur (p.ex. hébergement mutualisé).
Ce fichier d’instructions peut se placer dans n’importe quel dossier ou sous répertoire d’un site internet.
Les directives et le code présent dans un fichier .htaccess impact le périmètre du contenu du répertoire dans lequel il est placé ainsi que de tous ses sous répertoires.
En clair, chaque fichier .htaccess se préoccupe de gérer tout le contenu du répertoire dans lequel il a été déposé.


Attention, une commande dans un fichier .htaccess placé dans un sous répertoire peut aussi contrôler un dossier ou un fichier du niveau supérieur.


Le fichier htaccess est un outil SEO

La présence de ce fichier sur votre site web peut se révéler important et vous allez comprendre pourquoi le htaccess est un outil SEO redoutable. Ce fichier permet de contrôler et d’agir, avec des commandes et des instructions précises, sur le comportement de votre site Internet. Un fichier .htaccess bien configuré, participe intensément à l’optimisation et aux réglages du SEO.

L’optimisation htaccess influence le référencement naturel

L’édition du .htaccess permet d’effectuer des modifications qui autorisent une optimisation du référencement naturel.

Exemple:

  • le htaccess permet de corriger le problème de compatibilité de pages dans différents navigateurs. Des lignes codes conditionnelles insérées dans le htaccess détectent le User Agent (type de d’explorateur internet). L’exécution de ces instructions permettent ensuite de fournir une page adaptée à tel ou tel navigateur utilisé par le visiteur
  • la mise en cache du contenu de votre site web – sur le serveur ou dans le navigateur utilisateur – améliore le temps de transfert des pages internet

Les moteurs de recherche apprécient particulièrement la maximalisation de la performance d’un site, la vitesse de chargement d’une page web est un des leviers du référencement naturel. Délivrer un contenu adapté pour un périphérique mobile (téléphone, tablette, etc.) est un autre « levier SEO ».
Optimisation .htaccess
Le .htaccess participe à l’optimisation de :

  • la compression des données
  • la redirection
  • la réécriture des URL’s (URL Rewriting)
  • blocage des robots indésirables
  • limiter l’accès d’un site, p.ex. par plage IP
  • diminuer l’utilisation ou le vol de bande passante par des site web tiers, p.ex. hotlink
  • la sécurité de votre site web (htpasswd)

qui sont d’autres facteurs SEO (Search Engine Optimization)

Avantages du fichier .htaccess

Le fichier .htaccess fourni au moins deux prérogatives :

  • Il autorise un utilisateur, n’ayant pas accès à la gestion d’un serveur HTTP, à un overload de la configuration du serveur Apache. Cette surcharge au vol est généralement limitée par quelques directives distinctes définies par hébergeur, notamment et grâce à l’instruction «AllowOverride All». Lorsque cette commande est réglée sur «None» (AllowOverride None), les fichiers .htaccess sont ignorés et le serveur n’essaie même pas de les lire
  • le fichier .htaccess permet de donner des consignes qui sont immédiatement prises en compte sans qu’il soit indispensable de redémarrer le serveur HTTP (HyperText Transfer Protocol)

Note : pour visualiser des modifications du .htaccess, videz au minimum le cache du navigateur web. Si les pages du site internet sont misent en cache sur le serveur, idem, supprimez les en vidant le cache.

Inconvénients du fichier htaccess

Ce fichier d’instructions présente aux moins 3 désavantages

  • avant chaque requête le serveur web vérifie l’existence d’un .htaccess, puis traite le fichier si il est présent. Cette opération a un coût en matière de performances
  • il peut ouvrir des failles de sécurité lorsqu’il est mal rédigé ou géré
  • comme cela l’a été évoqué, la surcharge autorisée est limitée par l’hébergeur pour des raisons de sécurité.

Le fichier .htaccess diminue les performances serveur

Optimiser la performance de son serveur Apache

Si vous avez accès au fichier de configuration du serveur principal, préférez – pour profiter de meilleures performances – définir vos directives dans une section Directory du serveur HTTP ( httpd.conf: Apache Main Server configuration file ).
L’optimisation côté serveur offre une meilleure souplesse de gestion globale de la sécurité, permet d’exploiter au mieux la vélocité du serveur et accélère la vitesse de votre site web.
Un chapitre complet traitant le sujet l’hébergement et la configuration des serveurs dédiés est disponible ici

Fichier htaccess, conseils et astuces

Voici quelques astuces htaccess qui vous éviterons de tomber dans certains pièges récurrents!

Modifier.htaccess – éviter les erreurs classiques

Une erreur courante consiste à se servir d’un traitement de texte, tel que Word ou Open Office, pour la création ou la rédaction de ce fichier sensible. Ces logiciels sont à écarter car ils peuvent intégrer des symboles invisibles non reconnus dans l’édition du fichier texte.

Idem, pour une action de copier/coller de sources de textes de diverses origines, cette méthode d’insertion dans un fichier #htaccess favorise le risque d’hériter de caractères indésirables incompatibles, la caractéristique de ces signes discordants empêcheront dans le meilleur des cas, l’exécution de vos directives.
Dans la pire des éventualités, vous risquez le retour d’une erreur 500, qui se traduit par un plantage serveur (Internal Server Error 500).

Format du fichier htaccess

Le .htaccess édité doit être encodé et enregistré dans un format ANSI/ASCII, seuls ces caractères peuvent être employés, ce qui exclu notamment les accents, cédilles, et autres caractères spéciaux.

Édition .htaccess

Le meilleur outil pour éditer un fichier .htaccess – également le plus simple – est le bloc note. Ce petit éditeur de texte est un programme qui a l’avantage d’être présent par défaut sur toutes les machines Linux, Windows ou Apple Mac. Toutefois il faut faire attention aux caractères invisibles qu’il peut générer.

Autre outil .htaccess pour bien éditer le fichier

Vous pouvez naturellement vous servir de n’importe quels autres utilitaires textuels, exceptés les ceux qui ont étés mentionnés (Word et Open Office). Toutefois nous vous préconisons d’ajouter l’excellent éditeur de texte avancé Notepad++ à votre boîte à outils. Ce programme Multi-fonctions est un vrais petit couteau suisse, il permet bien plus que l’enregistrement naturel des fichiers.

Conseil htaccess

Avant d’optimiser un fichier .htaccess qui fonctionne, le meilleur truc est d’en faire copie en local. Pour y parvenir simplement, connectez-vous à votre site web avec l’outil FTP préféré, téléchargez le fichier dans un dossier de votre choix. Maintenant, vous pouvez le sauvegarder simplement en convertissant ce fichier en une archive zip, rar ou 7z.
Cette procédure garanti de conserver le .htaccess original intacte. Pour récupérer la source il vous suffira de l’extraire.
Modifier en renommant .htaccess en fichier texte ne pose pas de problèmes sur un système d’exploitation Windows, en revanche, l’opération inverse peut se relever être un parcourt du combattant pour un novice. Voici une méthode astucieuse pour contourner ce problème htaccess.

Astuce pour renommer un fichier htaccess.txt en .htaccess

L’idée est de créer un fichier texte avec le bloc note Windows, de le nommer htaccess.txt, de l’enregistrer à la racine du disque principal C:\ au format ANSI. Exécuter l’outil invite de commandes « généralement sous menu démarrer->accessoires->invite de commandes » puis de le renommer en tapant en ligne de commande sous Windows (cmd.exe) : rename htaccess.txt .htaccess.

Renommer un fichier htaccess.txt en .htacces avec l'outil de commandes cmd

Truc pour créer un fichier .htaccess ou .htpasswd

Comme cela a déjà été mentionné, l’OS Windows ne permet pas de créer un fichier doté d’une extension ne disposant pas de nom avant le point (exemple : .htpasswd ou .htaccess). Windows gratifie toutes opérations de ce type avec l’affichage d’une fenêtre d’alerte interdisant ce genre de tentative.
Voici une autre astuce pour renommer ou créer un fichier htaccess ou .htpasswd Windows.

Créer un fichier Batch MS-DOS Windows

Qu’est ce qu’un fichier Batch?
Le fichier Batch, sous système d’exploitation Windows, est simple fichier texte – dont on a changé l’extension – contenant une ligne de commande permettant d’exécuter une tâche spécifique à ce système. Le fichier ou script Batch peut aussi contenir un ensemble de lignes d’instructions MS-DOS (MS DOS est l’abréviation de MicroSoft Disk Operating System). Les commandes MS-DOS saisies dans un fichier Batch sont exécutées hiérarchiquement dans l’ordre, de la première à la dernière ligne de code. Le fichier Batch porte l’extension .bat (ou .cmd).

Première étape, créer un fichier Batch avec une extension .bat
  • ouvrir le bloc-notes
  • saisir les instructions: ren mon.htaccess .htaccess
  • dans la liste déroulante « Type » sélectionner « Tous les fichiers (*.*) »
  • dans la liste déroulante « Encodage » sélectionner « ANSI »
  • dans le champ « Nom du fichier » saisir « renommer.bat »
  • enregistrez le fichier avec « Enregistrer sous »
  • pointer le dossier « C:\test »
  • valider l’enregistrement

Créer un fichier .htaccess

Créer un fichier htaccess avec Windows
Deuxième étape, créer un fichier htaccess avec un nom
  • ouvrir le bloc-notes
  • saisir les directives .htaccess
  • dans la liste déroulante « Type » : sélectionner « Tous les fichiers (*.*) »
  • dans la liste déroulante « Encodage » sélectionner ANSI
  • dans le champ « Nom du fichier » saisir « mon.htaccess »
  • enregistrez le fichier avec enregistrer sous
  • pointer le dossier « C:\test »
  • valider l’enregistrement du fichier « mon.htaccess »

Aller dans le dossier « C:\test » et vérifier que les extensions .txt ne se trouvent pas à la fin des 2 fichiers qui viennent d’être créés. Si tout est en ordre, double clics sur le fichier « renommer.bat ». Le script se charge de renommer et de créer un nouveau fichier .htaccess.

Créer un fichier .htpasswd

Comment créer un fichier htpasswd

Créer un fichier .htpasswd utilise la même procédure que pour la création d’autres fichiers sans nom de type .htaccess.
Comment créer un fichier de sécurité .htpasswd? Il faut simplement modifier la ligne contenue dans le script renommer.bat: remplacer « ren mon.htaccess » par « ren mon.htpasswd »
Ne pas oublier de créer le nouveau fichier « mon.htpasswd » en ayant préalablement saisi commandes et directives de sécurité!
Aller dans le dossier « C:\test », contrôler que les 2 nouveaux fichiers créés ne contiennent pas extensions .txt
Si tout est Ok, double clics sur le fichier « renommer.bat ». L’exécution du script renomme et crée le nouveau fichier .htpasswd.

En savoir plus sur l’Erreur 500 Serveur Apache