Les bases de .htaccess

Article écrit par:
  • Guides d'hébergement
  • Mise à jour: juin 29, 2013

Comprendre le fichier .htaccess d'un serveur est un composant clé de la conception et du développement Web

La plupart des clients d’hébergement Web amateurs et des nouveaux développeurs Web considèrent que le logiciel installé est la partie la plus importante de la configuration d’un serveur. Ils installent fébrilement leur application ASP ou PHP, dans l’espoir de créer un contenu avancé contrôlé par des logiciels populaires, ainsi que de nombreuses cellules et tables de base de données. Mais malgré cette activité intense, presque chaque développeur ignore initialement l'un des fichiers les plus importants et les plus puissants du serveur. Ce fichier est appelé ".htaccess" et contrôle tout le message, des messages d'erreur aux pages protégées par mot de passe, de la structure permalink aux utilisateurs bloqués qui ne peuvent pas voir le contenu du site.

Le fichier ".htaccess" réside par défaut dans le répertoire public racine du serveur. Sur les serveurs Linux, ce répertoire s'appelle presque toujours "public_html". Pour les sous-dossiers devant bénéficier de la puissance de ce fichier, un fichier ".htaccess" secondaire peut être placé dans chaque sous-dossier et autre répertoire sur le serveur lui-même. Chaque fichier ou dossier d'un répertoire contenant un fichier ".htaccess" hérite des autorisations et des instructions de ce fichier, à moins qu'il ne soit remplacé par une version du fichier codée séparément. Si cela semble complexe, c'est une technique moyennement avancée de contrôle du comportement du serveur. Cependant, il n'est pas impossible d'apprendre. Et une fois qu'un développeur ou un client novice en hébergement Web apprend à contrôler son serveur à l'aide de ce fichier, il lui sera impossible de revenir à l'époque où un fichier ".htaccess" était une nuisance à peine comprise et encore moins utilisée.

La protection par mot de passe des répertoires est un jeu d'enfant avec le fichier .htaccess

La sécurité des serveurs d’hébergement Web est une question sur laquelle presque tous les clients s’intéressent avant de s’engager dans une société d’hébergement ou une technologie de serveur spécifique. Pour la plupart, les serveurs Windows et Linux sont également sécurisés, protégeant les informations de ceux qui ne devraient pas en avoir. Mais cela n’est vrai que pour la défense contre les pirates et les scripts Web malveillants. En ce qui concerne la protection par mot de passe de fichiers ou de répertoires spécifiques, tout le travail doit être effectué par le fichier .htaccess, indépendamment des technologies du serveur ou des fonctions de sécurité.

Le fichier .htaccess a son propre style de protection de ces répertoires, comme l'indique son langage et ses techniques de programmation simples, ligne par ligne. Dans ce cas, un utilisateur définit simplement le répertoire à protéger, puis définit les paramètres requis pour accéder à ce répertoire dans le fichier lui-même. Ce mot de passe peut s’appliquer à un seul fichier, à un répertoire entier ou à l’ensemble du serveur lui-même lorsqu’il est accédé via un navigateur Web classique. La configuration simple, sur une seule ligne, du mot de passe d'un fichier ou d'un répertoire ressemble à l'exemple ci-dessous lorsqu'il a été complètement rempli et lancé.

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType Basic
nécessite l'utilisateur sécuriséUtilisateur

Ces lignes de code sont associées à un nouveau fichier appelé ".htpasswd". Ce fichier réside dans le répertoire en cours de sécurisation et contient le nom d'utilisateur et le mot de passe qui permettront aux utilisateurs d'accéder aux informations protégées. Dans l'exemple ci-dessus, il a été spécifié que seul l'utilisateur "secureUser" peut avoir accès au répertoire. Ils doivent entrer le mot de passe requis, déterminé par la ligne de code "AuthName EnterPassword" située juste au-dessus de l'utilisateur. définition.

Dans le fichier ".htpasswd" qui sera créé dans le répertoire protégé, les utilisateurs n'ont besoin que d'ajouter une seule ligne de code. Le format est simple. chaque combinaison d'utilisateur et de mot de passe est séparée par des deux points. Cela signifie qu'ils ajouteront simplement "utilisateur: mot de passe" au fichier. Dans ce cas, il s'agirait de "secureUser: securedirectorypassword1". Cela définira tous les codes d'accès et noms d'utilisateur possibles. Les administrateurs de site peuvent certainement inclure plusieurs utilisateurs et mots de passe dans cette liste, à condition de supprimer la distinction "require user secureUser" du fichier ".htpasswd". Ils peuvent également définir plusieurs mots de passe pour le même nom d'utilisateur tout en conservant cette ligne de code, garantissant ainsi la révocation de l'accès de certains individus ou groupes à tout moment si le mot de passe correct est supprimé du fichier ".htpasswd".

Pour en savoir plus sur ce problème, lisez: Utilisation de .htpasswd avec votre compte d'hébergement partagé Linux.

Définition de liens faciles à retenir vers le contenu de sites Web et les pages statiques

L’une des utilisations les plus répandues du fichier ".htaccess" prolifique est d’utiliser les paramètres du fichier pour définir sémantiquement la facilité "permaliens"pour le contenu du site et les pages statiques lors de l'utilisation d'un logiciel de gestion de contenu tel que WordPress ou MovableType. Cela permet non seulement aux utilisateurs de mémoriser et de recharger le contenu du site, mais également d'améliorer le classement des sites Web dans les résultats de recherche sur les principaux moteurs de recherche. quel contenu se trouve sur une page donnée et si le contenu correspond ou non à l'URL. Une correspondance titre-URL indique plus d'autorité et une probabilité plus élevée qu'un utilisateur trouve les informations qu'il recherche. principaux moteurs de recherche lors de l’utilisation de la structure permalien.

Pour les utilisateurs qui ont installé WordPress sur les serveurs de leur site, la ligne suivante est ajoutée presque impérativement au cours du processus d'installation - en particulier pour les versions plus récentes du logiciel à partir de la version 3.0 et plus récente. La ligne de code ressemble exactement à l'exemple ci-dessous et est standard pour plus de millions de clients WordPress auto-hébergés dans le monde.

RewriteEngine On
RewriteBase /
REQUEST_FILENAME RewriteCond% {}! -f
REQUEST_FILENAME RewriteCond% {}! -d
RewriteRule. / Index.php [L]

Encore une fois, il est facile de voir la structure ligne par ligne des instructions de programmation de fichiers ".htaccess". Ces quelques simples lignes de code indiquent au serveur d'utiliser le fichier "index.php" de WordPress comme base pour toutes les URL issues de la solution logicielle de gestion de contenu elle-même. En utilisant ce fichier comme base et en réécrivant les titres des entrées en tant que permaliens, la réécriture d'URL combine essentiellement des requêtes de base de données avec des autorisations de fichier pour créer des URL "conviviales". La modification d'un fichier ".htaccess" pour réécrire ses URL est actuellement le meilleur moyen, voire le seul, de créer des URL plus conviviales à partir de solutions logicielles de gestion de contenu basées sur PHP et ASP.

Guide des moteurs de recherche pour le contenu récemment déplacé localement ou à distance

Les liens permanents ont été conçus pour éliminer le processus de contenu déplacé de manière aléatoire et les redirections intensives, mais ils n’ont pas complètement éliminé le problème. En effet, les permaliens peuvent être gérés dans le panneau de configuration de toute solution de gestion de contenu; Au moment où un utilisateur modifie la structure du lien permanent, tout ce qui relève du logiciel CMS peut disparaître et causer des erreurs aux moteurs de recherche et aux utilisateurs. Cela peut être éliminé comme problème avec une ligne très simple de code ".htaccess" qui redirige les clients et génère une erreur "invisible" vers les principaux moteurs de recherche. Le code est le suivant:

Rediriger 301 / archive / / past-entries /

Cette redirection place les anciennes et nouvelles URL côte à côte avec l'ancienne URL répertoriée en premier. Il ordonne au serveur d'envoyer une erreur de redirection 301 aux navigateurs et aux "spiders" du moteur de recherche, mais cette erreur n'est jamais vue par l'utilisateur final. Au lieu de cela, une redirection 301 est une erreur invisible qui se produit dans les coulisses. Alors que l'utilisateur est automatiquement redirigé vers le nouveau chemin et le nouveau contenu, le navigateur et le moteur de recherche comprennent que "301" signifie "déplacé de manière permanente". Le navigateur et les moteurs de recherche qui rencontrent cette erreur mettront immédiatement à jour leurs enregistrements afin de refléter la nouvelle URL et ils supprimeront l’ancienne immédiatement.

C'est également un excellent moyen de passer à un nouveau nom de domaine sans perdre de clients. Le fichier ".htaccess" sur l’ancien serveur peut être utilisé pour pointer du contenu vers un nom de domaine complètement nouveau avec juste une petite modification de la ligne de code présentée ci-dessus. Au lieu de pointer sur deux chemins relatifs sur le même serveur, le code de redirection 301 dans ce cas aurait l'aspect suivant:

Rediriger 301 / http://www.votre-domaine-nom.com

Cela indique au serveur d’envoyer quoi que ce soit dans le répertoire racine, ou dans n’importe quel sous-dossier, vers le nouveau nom de domaine exactement au même chemin qu’il était sur l’ancien serveur. Tout ce qui change, c'est le nom de domaine lui-même. Encore une fois, comme il utilise le code d'erreur 301, les moteurs de recherche mettront automatiquement à jour leurs enregistrements pour refléter le nouveau nom de domaine. Ce n'est pas seulement un excellent outil de convivialité, il empêche également un site Web de perdre son classement dans les moteurs de recherche. Au lieu de tout recommencer, les moteurs de recherche comprendront qu'il s'agit du même site Web à un nouvel emplacement. Ils conserveront leur ancienne perception et leur classement, et l'administrateur bénéficiera grandement de l'utilisation de cette méthode unique de transfert d'un domaine à l'autre.

Des erreurs invisibles et des redirections aux pages d'erreur réelles pour les visiteurs du site

Il est certainement vrai que le fichier ".htaccess" est spécialisé dans la redirection des utilisateurs vers un nouveau contenu tout en mettant à jour de manière invisible les moteurs de recherche, mais ce fichier unique peut également être utilisé pour afficher des pages d'erreur spécifiques lorsque le contenu est manquant, ne peut pas être affiché ou est codé dans de telles une manière que les erreurs empêchent le chargement de la page. Pour ce faire, vous devez spécifier une page à afficher en fonction du code d'erreur à trois chiffres du serveur. Ces codes sont intégrés à des services tels qu'Apache et IIS, il n'y a donc aucun besoin réel de configuration au-delà du fichier ".htaccess". L'exemple ci-dessous s'attaque à la page d'erreur la plus courante au monde, connue sous le nom "d'erreur 404" pour les pages et les répertoires manquants.

ErrorDocument 404 /404.html

Lorsqu'un utilisateur trouve un lien qui n'existe plus ou un sous-dossier qui a été supprimé, il est automatiquement redirigé par le fichier ".htaccess" vers une page d'erreur 404 informative et utile pouvant être personnalisée et spécifiquement conçue par administrateur du site. C'est un excellent moyen de les ramener au bercail plutôt que de les renvoyer avec une page d'erreur simple et non descriptive qui n'offre aucune alternative à la page perdue.

Le même processus peut être effectué pour pratiquement tous les types d’erreur de chargement de page sur serveur. Cela inclut les erreurs de serveur 401, 403 et 500 en plus de l'incident type "page introuvable" rencontré par la plupart des utilisateurs. Assurez-vous de rechercher la signification de chaque code d'erreur et de présenter un message personnalisé et une conception de site Web pour chaque erreur, afin de permettre aux utilisateurs de retrouver facilement le contenu du site existant. C'est le meilleur moyen de s'assurer que même les défaillances de navigation ou les défaillances logiques d'un site sont transformées en opportunités et en succès.

Lorsque tout échoue, interdire les utilisateurs avec quelques lignes de code simples

Pour la plupart, le fichier ".htaccess" est utilisé pour les choses qui ont tendance à jouer en faveur de l'utilisateur moyen. Cela inclut les pages d'erreur, les méthodes de redirection personnalisées et les URL permalink "conviviales", entre autres fonctionnalités intéressantes. Mais ce fichier peut également être utilisé pour s’assurer que certains utilisateurs se voient simplement refuser totalement l’accès au site Web. C'est un excellent moyen d'interdire ceux qui "spam" des commentaires sur le site, causent souvent des perturbations ou des disputes entre lecteurs, ou ne peuvent tout simplement pas gérer leurs privilèges d'accès de manière responsable.

Pour maintenir l'intégrité d'un site et éviter que d'autres lecteurs ne migrent vers d'autres sites Web par pure frustration avec seulement quelques pommes pourries, le fichier ".htaccess" permet d'interdire des adresses IP spécifiques ou des plages entières (ou "blocs"). des adresses IP. Cela signifie que des pays entiers peuvent être interdits, des FAI entiers peuvent être interdits ou que des États, des communautés ou des organisations entiers peuvent être contraints d'aller ailleurs pour lire leur contenu quotidien et causer des problèmes. Lorsqu'il est utilisé dans le fichier ".htaccess" du site, le processus d'interdiction d'un utilisateur ressemble à ceci:

permettre de toute
deny from 158.23.144.12
deny from 24.100

Dans l'exemple ci-dessus, le site doit autoriser les visiteurs de toutes les adresses IP, à l'exception de ceux qui visitent l'adresse IP 158.23.144.12. De plus, l'accès à un site est refusé à tous les visiteurs de la plage d'adresses IP 24.100. Cette plage interdit probablement à l'ensemble de la clientèle d'un fournisseur de services Internet de lire le contenu d'un site. Soyez assuré, cependant, que cela est parfois nécessaire dans des cas graves.

Embrasser le fichier .htaccess et exercer un certain pouvoir sur les fonctions du site

L’avantage du fichier .htaccess est qu’il permet aux administrateurs de serveur de contrôler des paramètres considérés comme très avancés ou nécessitant un accès «root» au serveur. Ce fichier est un excellent moyen de gérer les accès, les erreurs, les redirections et même la structure et le sens sémantique des URL. La maîtriser est la clé de la protection et de l'autonomisation des nouveaux visiteurs et des anciens visiteurs d'un site.

Article de Jerry Low

Papa geek, accro aux données SEO, investisseur et fondateur de Web Hosting Secret Revealed. Jerry construit des actifs Internet et gagne de l'argent en ligne depuis 2004. Il adore gribouiller sans réfléchir et essayer de nouveaux plats.