L’utilité d’un fichier .htaccess wordpress : ses fonctionnalités principales

REJOINDRE Maintenant
MA formation Complète ? 

  • Tes Premières Ventes sous 7 Jours
  • 0€ de Publicité / 0€ de Stock (Dropshipping)
  • +40 H de vidéos - Méthode A à Z -
  • Un VRAI coaching continu pour t'accompagner

Mettre les mains dans son site peut être très utile pour configurer et modifier certaines fonctionnalités. Dans mes tutos wordpress on peut constater qu’un fichier important pour la configuration de votre site est le fichier .htaccess. Avec ce fichier qui est placé à la racine de votre site internet, vous pouvez remplacer un grand nombre d’éléments. Alors, comment renforcer la sécurité de votre site grâce au fichier .htaccess ? Comment créer et modifier ce fichier ? C’est ce que nous voyons dans l’article.

Qu’est-ce
qu’un fichier .htaccess ? Comprendre son utilité

Le fichier .htaccess (Hypertext Access) est un fichier de configuration pour le serveur Apache. C’est un logiciel qui permet aux internautes d’accéder à des pages web au format HTML et CSS, qui sont affichés par les navigateurs. C’est grâce à lui que les requêtes formulées par les internautes sur votre site sont affichées correctement.

Un site internet peut posséder plusieurs fichiers .htaccess. Ce fichier est situé à la racine du site, là où se trouve tous les fichiers de wordpress (wp-admin, wp-includes et wp-content ). Son contenu a donc une importance et un impact sur tout votre site. Il est possible de créer d’autres de ces fichiers dans des sous-répertoires. Ces derniers ont une influence sur les répertoires dans lesquels ils sont placés et sur les sous-répertoires. Le fichier .htaccess subit une modification à chaque fois que vous changez le format d’URL dans « Réglages/ Permaliens ». C’est grâce à ce fichier que vous pouvez apporter des modifications à la configuration du serveur, notamment au niveau de chaque répertoire et de ses sous-répertoires.

WordPress crée automatiquement un fichier .htaccess au moment de l’installation pour y inclure le paramétrage des permaliens du site. En effet, le fichier .htaccess est un fichier de configuration d’Apache, ce logiciel qu’utilise votre serveur pour fonctionner. Il peut donc permettre de reconfigurer les paramètres spécifiques du serveur web Apache. Vous l’aurez compris, ce simple fichier joue un rôle très important pour la sécurité et l’amélioration des performances de votre site WordPress (protection d’un répertoire avec mot de passe, redirections, interdictions d’accès à certaines ressources, blocage des robots, etc.).

Le contenu de ce fichier va donner des directives à Apache pour que le serveur se comporte de telle ou telle manière. Grâce au fichier .htaccess, vous allez notamment pouvoir :

  • Améliorer la sécurité d’un site
  • Augmenter la vitesse de chargement
  • Mettre en place des redirections
  • Limiter le spam

Comment créer
un fichier .htaccess sur son site internet ?

Comme on vient de le voir, votre site doit au moins avoir un fichier .htaccess situé à la racine de votre site. Il se peut que wordpress ne l’aie pas créé au moment de l’installation, mais c’est un cas très rare. Si vous souhaitez modifier votre fichier, vous pouvez le faire grâce à votre éditeur de code. Vous pouvez aussi utiliser un plugin comme Htaccess Editor pour le modifier directement à partir de WordPress. Si vous rencontrez un problème, passez par le FTP et votre éditeur de code.

Vous pouvez donc ajouter un fichier .htaccess dans un sous-répertoire, en partant du principe que vous avez le fichier .htaccess principal à la racine de votre site. Vérifiez que vous possédez bien ce fichier à la racine de votre site, en allant dans « Afficher les fichiers cachés » du système des fichiers. À défaut, il faut en créer un manuellement. Vous pouvez le créer depuis votre ordinateur ou directement depuis votre serveur.

  • Créez un fichier .htaccess depuis votre ordinateur et nommez-le « htaccess.txt ».
  • Éditez-le.
  • Envoyez-le à la racine de votre serveur.
  • Renommez-le en « .htaccess ».

Vous pouvez aussi créer ce
fichier depuis votre serveur :

  • Faites un clic droit dans le répertoire où le fichier devra se trouver.
  • Ajoutez un nouveau fichier et nommez-le « .htaccess. ».
  • Éditez-le avec votre éditeur de code (Notepad++, Coda, SublimeText ou autre).

Où trouver
le fichier .htaccess dans un site wordpress ?

On l’a vu plus haut, un fichier .htaccess est installé par wordpress à la création de votre site à la racine. Vous pouvez trouver ce fichier par plusieurs endroits.

  • Allez dans votre client FTP pour identifier son emplacement. Faites un clic droit sur le fichier et téléchargez-le, éditez-le ou visualisez-le. Vous pouvez le modifier grâce à un éditeur de texte classique.
  • Vous pouvez aussi agir sur votre fichier depuis votre « Dashboard WordPress » depuis « Réglages/ Permaliens ». Si vous changez des paramètres, wp va automatiquement créer des nouvelles lignes de codes dans votre fichier .htaccess.
  • Vous pouvez aussi trouver et faire des modifications sur votre fichier .htaccess avec l’extension wordpress gratuite WP htaccess Control que vous trouverez sur le répertoire d’extensions de wordpress depuis le menu « Réglages/ Extensions/ Ajouter ».

Il est normal de ne pas trouver facilement ce fichier étant donné que le « . » devant htaccess, signifie que c’est un fichier caché. Il n’y a qu’avec l’utilisation d’un client FTP que vous pourrez forcer l’affichage.

Comment
modifier le fichier .htaccess dans wordpress pour renforcer la
sécurité ?

Il y a plusieurs raisons qui
peuvent pousser à vouloir modifier un fichier .htaccess. L’une des
principales, c’est souvent pour renforcer la sécurité de son site
internet. Une fois l’installation de wordpress faite et les
permaliens activés, un fichier .htaccess se crée automatiquement
dans le répertoire racine du site d’installation.

Quand wordpress écrit dans le fichier .htaccess il écrit toujours des données entre les lignes de commentaires « # BEGIN WordPress » et « # End WordPress ». Le caractère « # » désigne les lignes des commentaires qui n’affectent pas la configuration. Après chaque modification, laissez toujours les commentaires pour pouvoir garder le contrôle sur votre fichier.

Les commentaires doivent commencer par un signe #. Si votre commentaire est constitué de plusieurs lignes, il faut ajouter ce signe à chaque ligne. Utilisez des caractères alphanumériques pour votre commentaire. Le fichier .htaccess est très puissant, la moindre erreur de syntaxe comme l’oubli d’un caractère « < » peut bloquer votre site. Pour éviter ce genre de problème, il est important de faire une sauvegarde du fichier .htaccess avant chaque modification. Une fois la modification effectuée, rafraîchissez votre site afin de pouvoir revenir à une version précédente de votre fichier .htaccess si les changements génèrent des erreurs.

Certains systèmes d’exploitation
ne permettent pas de créer un fichier .htaccess. Afin de contourner
ce problème, je vous conseille d’utiliser :

  • Un Bloc-notes ou un autre éditeur de texte
  • Ajoutez ensuite vos commandes de configuration
  • Enregistrez le fichier avec l’extension « .txt. »
  • Téléchargez ensuite le fichier sur votre site
  • Renommez le fichier une fois le téléchargement terminé.

Créer une
configuration optimisée pour wordpress

Cette configuration est faite pour un site sous wordpress classique, c’est-à-dire pas un multi-sites ou avec des sous-domaines. Voici une série de codes à mettre en place sur votre site wp. Vérifiez bien après chaque modification, le fonctionnement de votre fichier .htaccess en faisant des tests depuis votre navigateur web. Testez bien les accès, les redirections et la non-disponibilité des répertoires.

Par
défaut sous WordPress

# BEGIN
WordPress

<IfModule
mod_rewrite.c>

RewriteEngine
On

 RewriteBase
/

RewriteCond
%{REQUEST_FILENAME} !-f

RewriteCond
%{REQUEST_FILENAME} !-d

 RewriteRule
. /index.php [L]

</IfModule>

# END WordPress

Blocage de la
visibilité du fichier wp-config.php

<Files
wp-config.php>

order
allow,deny

deny from all

</Files>

#Fin du
blocage

Masquer les
informations relatives au serveur :

#ServerSignature
Off

Protéger
.htaccess et .htpasswds

<Files ~
« ^.*\.([Hh][Tt][AaPp]) »>

order
allow,deny

deny from all

satisfy all

</Files>

Masquer
l’identification d’un auteur

<IfModule mod_rewrite.c>

RewriteCond
%{QUERY_STRING} ^author=([0-9]*)

RewriteRule .*
– [F]

</IfModule>

Éviter le
spam de commentaires

<IfModule
mod_rewrite.c>

RewriteCond
%{REQUEST_METHOD} POST

RewriteCond
%{REQUEST_URI} .wp-comments-post\.php*

RewriteCond
%{HTTP_REFERER} !.monsite.com.* [OR]

RewriteCond
%{HTTP_USER_AGENT} ^$

RewriteRule
(.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

</IfModule>

Limiter
l’accès au site à certains utilisateurs

Il faudra remplacer
xxx.xxx.xxx.xxx par l’adresse IP

<Limit GET
POST>

order
allow,deny

deny from
xxx.xxx.xxx.xxx

allow from all

</Limit>

Retirer
l’expression « category » de vos urls

RewriteRule
^category/(.+)$ https://www.yourblog.com/$1 [R=301,L]

Autoriser
l’utilisation du cache

<Ifmodule mod_expires.c>  

<filesmatch
« \.(jpg|gif|png|css|js)$ »>

ExpiresActive
on

ExpiresDefault
« access plus 1 year »

</filesmatch> </ifmodule>

Pour
restreindre l’accès à votre console Administrateur 

order
deny,allow

allow from
192.168.5.1

deny from all

Remplacez l’adresse IP192.168.5.1 par votre propre adresse IP. Pour trouver votre adresse IP allez sur « http://www.whatismyip.com/ » si vous ne la connaissez pas. Téléchargez le fichier « .htaccess » ainsi créé dans le dossier « wp-admin » de votre site. Cela va vous permettre d’accéder à la zone d’administration de votre site, mais bloquera toutes les autres tentatives.

Vous pouvez ajouter des adresses IP supplémentaires pour d’autres administrateurs de votre site, ou même d’autres endroits à partir desquels vous accédez à votre site. Les adresses IP ne doivent pas être celles de lieux publics (cafés Internet, bornes wifi, etc.). Vous pouvez le faire en ajoutant des lignes supplémentaires énumérant les adresses IP, en les séparant par des virgules, par exemple : allow from 192.168.5.1, 192.168.9.2, 192.168.3.4

Rediriger les
internautes vers une page de maintenance

Utile quand vous faites des
modifications

RewriteEngine
on

RewriteCond
%{REQUEST_URI} !/maintenance.html$

RewriteCond
%{REMOTE_ADDR} !^123\.123\.123\.123

RewriteRule $
/maintenance.html [R=302,L]

Installer une
redirection 301

Redirect 301 /urlarediriger /nouvelleurl  

Empêcher la
navigation des répertoires

Options All
-Indexes

Empêcher
le Hot Linking des images

RewriteEngine
On

RewriteCond
%{HTTP_REFERER} !^$

RewriteCond
%{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC]

RewriteRule
.(gif|jpg)$ http://www.yoursite.com/hotlink.gif [R,L] 

Pour comprendre tous les aspects techniques de wordpress, consultez mes articles :

Aller plus loin

Le Web est (encore en 2019...) une VÉRITABLE machine à cash!
Il suffit de te FORMER SÉRIEUSEMENT

>