Les bases du .htaccess: comment utiliser et exemples

Article écrit par:
  • Guides d'hébergement
  • Mis à jour: Jul 16, 2019

Qu'est-ce qu'un fichier .htaccess?

Le fichier .htaccess est un SlimCleaner (normalement juste appelé Apache) fichier de configuration. Le fichier est extrêmement puissant et peut être utilisé pour contrôler plusieurs facettes de pages Web servies par Apache. Cela inclut des éléments tels que la gestion des redirections, la protection des liens hypertextes, etc.

Où se trouve le fichier .htaccess?

Il devrait y avoir un fichier .htaccess dans le dossier racine de votre hôte Web - le dossier (généralement / public_html ou / www) contenant le contenu de votre site Web.

Vous pouvez avoir plusieurs fichiers .htaccess sur votre compte d'hébergement, mais chaque répertoire ou dossier ne peut en avoir qu'un. Par exemple, vous pouvez avoir des fichiers .htaccess distincts dans votre dossier racine et un autre dans un sous-dossier. Cela vous permet de définir un comportement de serveur différent en fonction de la structure de répertoires.

Le fichier .htaccess est puissant, mais peut être consulté et modifié s’il n’est pas protégé correctement. Assurez-vous de prendre des mesures pour empêcher l'accès à ce fichier.

Je ne trouve pas mon fichier .htaccess

Tout d’abord .htaccess est un fichier Apache, cela signifie que vous ne pouvez le trouver que sur un serveur Apache. * Arrêtez de chercher si votre hôte s’exécute sur un autre logiciel de serveur Web (Microsoft IIS ou NGINX).

Les noms de fichiers commençant par un point sont généralement des fichiers cachés. Cela signifie qu'ils ne sont généralement pas visibles par défaut.

Pour afficher ce fichier, activez simplement «Afficher les fichiers cachés» dans votre client FTP ou votre gestionnaire de fichiers d'hébergement (voir l'image ci-dessous).

Trouver un fichier .htaccess - Comment afficher des fichiers cachés dans le gestionnaire de fichiers cPanel
Exemple - Affichez vos fichiers cachés en activant cette option dans le gestionnaire de fichiers cPanel.

Vous pensez peut-être que le fichier .htaccess est un inconvénient, car il nécessite un codage, mais considérez l'utilisateur qui doit établir le même comportement de serveur sur plusieurs sites. Tout ce que cette personne devra faire est de dupliquer le fichier .htaccess.

Les fichiers .htaccess sont des fichiers de configuration du serveur et, comme ils traitent directement du comportement, il n'est pas nécessaire d'exécuter quoi que ce soit chaque fois qu'une demande est faite. Il faut donc beaucoup moins de ressources que d'utiliser un plugin, par exemple.

* Remarque: Apache a environ 30% taux de prise du marché basé sur le rapport W3Techs. Les marques d'hébergement les plus populaires mentionnées à WHSR - Hébergement A2, BlueHost, GreenGeeks, Hostinger, InMotion Hosting, SiteGround; sont propulsés par Apache.

À quoi sert .htaccess?

Bien qu'il y ait un point devant le nom du fichier, htaccess est le nom du fichier et le point n'en fait pas une extension. Plus précisément, c'est ce nom de fichier exact qu'Apache recherche lorsqu'il est exécuté. Tout ce qui se trouve dans le fichier .htaccess définit des paramètres permettant à Apache d'activer ou de désactiver des fonctions, voire d'exécuter des tâches spécifiques lorsque certaines conditions sont remplies.

Par exemple, en fonction des instructions contenues dans le fichier, Apache peut charger automatiquement des pages d'erreur personnalisées si les visiteurs de votre site Web recherchent une ressource qui n'y est pas. Chaque type d'erreur a son propre code et chacun de ceux-ci peut être redirigé individuellement.

Il existe une très grande liste de solutions possibles avec le fichier .htaccess et, aujourd’hui, je vous en partagerai quelques-unes.

1. Gestion des pages d'erreur personnalisées

Légende: exemples de pages d'erreur 404 personnalisées de manière créative

Lorsqu'ils sont laissés aux paramètres par défaut, la plupart des logiciels de serveur Web envoient une page d'erreur très sombre à vos visiteurs. Si vous souhaitez afficher une page d'erreur plus conviviale (ou à tout le moins, présentable), vous devez utiliser la gestion personnalisée des documents d'erreur dans votre fichier .htaccess.

Disons que vous avez conçu un page d'erreur 404 personnalisée appelé «404.html» et l’a sauvegardé dans un sous-dossier de votre répertoire Web appelé «error_pages». En utilisant la ligne de code suivante dans .htaccess, vous pouvez appeler cette page chaque fois qu'une erreur 404 est rencontrée par un visiteur;

ErrorDocument 404 /error_pages/404.html

En utilisant cette technique, vous pouvez enregistrer des copies personnalisées de chaque type d'erreur que vous souhaitez comptabiliser et les configurer pour qu'elles soient appelées en incluant le code nécessaire dans votre fichier .htaccess. Le plus couramment rencontré codes d'erreur comprendre;

  • 400 - Requête incorrecte
  • 403 - Interdit
  • 404 - Fichier non trouvé
  • 500 - Erreur interne du serveur
  • 503 - Service indisponible

2. Gérer les redirections

Il peut arriver que vous souhaitiez définir une redirection de couverture afin de pouvoir diriger vos visiteurs vers des pages spécifiques sans qu'ils le sachent. Par exemple, si vous utilisiez HTTP à l'origine mais avez depuis lors SSL installé et déplacé vers HTTPS, vous voudriez que tous vos utilisateurs utilisent la version HTTPS de votre site.

Dans ce cas, vous devez utiliser la règle de réécriture.

RewriteEngine on RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ Https://www.votredomaine.com/$1 [R, L]

Le code pour cela peut être modifié en fonction de vos besoins. Par exemple, si vous souhaitez rediriger des utilisateurs de votre ancien domaine vers un nouveau, utilisez-le;

RewriteEngine On RewriteCond% {HTTP_HOST} ^ anciendomaine.com [NC, OU] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ Http://newdomain.com/$1 [L, R = 301, NC]

Il existe de nombreuses variantes pour configurer des redirections. Détails de la syntaxe pour réécrire peut être trouvée dans le Documentation Apache .

Une des choses les plus utiles que les redirections puissent faire pour vous est de vous aider à guider les moteurs de recherche vers les pages que vous avez déplacées. Normalement, les moteurs de recherche indexent les liens et s’ils ne trouvent pas les bonnes pages, ils supposeront que le contenu a disparu.

En utilisant une redirection, vous pouvez facilement déplacer du contenu et permettre aux robots d'indexation Web de savoir où trouver le contenu qu'ils ont précédemment indexé. Pour ce faire, utilisez;

Rediriger 301 / archive / / past-entries /

L'instruction 301 permet non seulement aux utilisateurs d'accéder à l'ancien contenu de manière transparente, mais sert également d'instruction aux robots d'exploration de sites Web leur indiquant que le contenu est déplacé de manière permanente. Cela les aide en leur permettant de réindexer rapidement les liens.

2. Augmentez la sécurité de votre site Web

Je trouve que beaucoup de nouveaux propriétaires de sites Web ont tendance à trop compter sur outils externes pour augmenter la sécurité de leur site web. Même s’il est vrai qu’il existe une multitude d’excellentes applications, vous pouvez commencer par les bases de votre fichier .htaccess.

Répertoires de protection par mot de passe

Pour ce faire, vous aurez besoin de deux fichiers, .htaccess et .htpasswd. Le fichier .htpasswd inclut un certain cryptage, utilisez donc un outil comme Htpasswd Generator pour créer le fichier. Le fichier .htaccess devrait inclure ce code;

AuthType Basic AuthName "Zone protégée par mot de passe" AuthUserFile /path/to/.htpasswd Requiert un utilisateur valide.

Désactiver la navigation dans les répertoires

C’est l’un des plus faciles à faire et n’a besoin que de deux lignes de code pour être inclus dans votre fichier .htaccess;

# Désactiver les options de navigation dans les répertoires - Index

Bloquer des IP spécifiques

Pour empêcher les adresses IP individuelles de visiter votre site, ajoutez le code suivant à votre fichier .htaccess;

Refuser de XXX.XXX.XXX.XXX

Où vous remplacez XXX par les valeurs IP numériques. Certaines variantes de ce code peuvent également être utilisées pour bloquer une plage d'adresses IP ou plusieurs adresses IP.

3. Protection Hotlink

La création de liens dynamiques se produit lorsque d'autres sites Web renvoient vers des images que vous hébergez. Ce n'est pas souhaitable, car ils utilisent à la fois votre espace et votre bande passante. Pour éviter les hyperliens d’image, ajoutez ce qui suit à votre fichier .htaccess;

RewriteEngine on RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Exemple.com/.** [NC] RewriteRule \. (Gif | jpg | jpeg | jpeg | bmp) $ - [F]

La dernière ligne de ce code est l'endroit où vous spécifiez les fichiers que vous souhaitez bloquer les sites de la liaison dynamique. Cela consiste essentiellement à indiquer à Apache de bloquer tous les liens vers ces fichiers qui ne proviennent pas du nom de domaine http://www.example.com/.

Beaucoup de personnes qui font souvent des liens hypertextes ne consultent plus leurs publications. Par conséquent, si vous souhaitez vraiment les embarrasser, vous pouvez afficher un message personnalisé à l'intention des sites qui tentent de créer des hyperliens;

RewriteEngine on RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Exemple.com/.** [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

Ce qui peut afficher une autre image sur le site incriminé comme ceci:

4. Protéger le fichier .htaccess

Vous réalisez maintenant à quel point le fichier .htaccess est un outil utile. Depuis que vous en êtes venus à réaliser cela, il est temps que vous pensiez protéger ce fichier précieux! Si vous utilisez un fichier .htpasswd, vous voudrez probablement le protéger également et la façon de faire les deux consiste à:

# protège .htaccess et .htpasswd <Fichiers ~ "^. * \. ([Hh] [Tt])"> Ordre autoriser, refuser Refuser de tout Satisfaire tout </ Files>

Notez que sur la plupart des serveurs sécurisés, ces fichiers sont déjà protégés. Avant d'ajouter ce code, vérifiez si vous pouvez accéder aux fichiers dans une fenêtre de navigateur. Il suffit de taper l'URL et d'ajouter un /.htaccess derrière pour voir si vous pouvez voir le fichier. Si vous ne le pouvez pas, un message d'erreur apparaîtra probablement.

5. Définition du fuseau horaire de votre serveur

Si vous remarquez que, pour une raison ou une autre, les heures sur votre serveur semblent être légèrement décalées, vous devrez peut-être forcer un fuseau horaire à l'aide du fichier .htaccess. C'est encore quelque chose de facile à faire et qui ne nécessite qu'une seule ligne de code;

SetEnv TZ America / yourtimezone

Il existe une liste énorme de fuseaux horaires disponibles et vous pouvez trouver la correspondance la plus proche en faisant référence à la liste des fuseaux horaires pris en charge.

Embrasser le pouvoir de .htaccess

Les échantillons que j'ai montrés ici ne sont que la partie visible d'un très grand iceberg. Il donne aux utilisateurs d’hébergement Web un pouvoir bien plus grand sur leurs sites que celui qui leur serait normalement attribué par le biais d’un panneau de configuration et un large éventail d’outils avec lesquels travailler.

Apprendre à utiliser le code n’est qu’un pas en avant avec la puissance de Google. La meilleure chose à ce sujet est que vous devez seulement choisir et apprendre les éléments dont vous avez besoin.

À propos de Jerry Low

Fondateur de WebHostingSecretRevealed.net (WHSR) - une critique d'hébergement approuvée et utilisée par les utilisateurs de 100,000. Plus de 15 ans d'expérience dans l'hébergement web, le marketing d'affiliation et le référencement. Contributeur à ProBlogger.net, Business.com, SocialMediaToday.com, et plus encore.