Le fichier .htaccess est un fichier de configuration qui vous permet de contrôler les fichiers et les dossiers du répertoire actuel et de tous les sous-répertoires. Le nom de fichier est un nom raccourci pour l’accès hypertexte et est pris en charge par la plupart des serveurs.

Pour de nombreux utilisateurs de WordPress, leur première rencontre avec le fichier .htaccess a lieu lorsqu’ils personnalisent les paramètres des permaliens de leur site Web. Pour obtenir ces jolis permaliens que nous connaissons et aimons tous (par exemple, https://www.elegantthemes.com/sample-post/ au lieu de https://www.elegantthemes.com/?p=123), nous devons ajouter quelque chose comme ceci au fichier .htaccess :

# BEGIN WordPress

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

# END WordPress

Si aucun fichier .htaccess n’existe, vous pouvez en créer un vous-même et le télécharger. Tout ce que vous avez à faire est de créer un fichier texte vierge, de l’enregistrer sous le nom de .htaccess et de le télécharger à la racine de votre installation WordPress. Veillez à inclure le point au début du nom du fichier (c’est-à-dire enregistrez le fichier sous le nom de .htaccess et non pas htaccess).

Vous devez également vous assurer que votre fichier .htaccess est accessible en écriture afin que WordPress puisse ajouter le code de permalien approprié à votre fichier .htaccess. WordPress.org conseille des permissions de 644 pour le fichier .htaccess.

Htaccess File is Hidden
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Le fichier .htaccess est un fichier caché. Vous devez donc vous assurer que votre client FTP ou votre gestionnaire de fichiers est configuré pour afficher le fichier dans votre répertoire.

Le fichier .htaccess n’est pas seulement utilisé pour les permaliens. Le fichier est plus connu pour sa capacité à renforcer la sécurité d’un site Web. Des millions d’utilisateurs de WordPress utilisent le fichier .htaccess pour protéger leurs sites Web des spammeurs, des pirates et d’autres menaces connues.

Dans cet article, je voudrais partager avec vous plusieurs snippets pour .htaccess qui sécuriseront votre site Web. J’ai également inclus quelques extraits supplémentaires qui, je pense, vous seront utiles.

Vous avez peut-être remarqué dans mon exemple de permalien ci-dessus que le code commence par # BEGIN WordPress et se termine par # END WordPress. WordPress peut mettre à jour tout code placé à l’intérieur de ces balises. Vous devez donc ajouter les extraits présentés dans cet article en haut ou en bas de votre fichier .htaccess (c’est-à-dire avant # BEGIN WordPress ou après # END WordPress).

Soyez prudent

Le fichier .htaccess est l’un des fichiers les plus capricieux que vous rencontrerez lorsque vous utiliserez WordPress. Il suffit qu’un seul caractère soit mal placé pour que le code soit incorrect. Lorsque cela se produit, l’ensemble de votre site web tombe en panne. Il est donc essentiel que vous copiez correctement le code indiqué dans cet article dans votre propre fichier .htaccess.

Même si vous êtes prudent, des accidents peuvent se produire, et ils sont fréquents.

Ne faites pas d’économies lorsque vous travaillez avec le fichier .htaccess. Avant de commencer, faites une sauvegarde de votre version actuelle du fichier .htaccess. Conservez-la dans un endroit sûr de votre ordinateur et, si possible, dans un autre endroit tel qu’une clé USB ou un stockage en nuage.

Chaque fois que vous mettez à jour votre fichier .htaccess sur votre serveur, actualisez votre site Web pour voir s’il est toujours actif. Ne sautez pas cette étape, car il est essentiel de vérifier que votre site Web fonctionne toujours correctement. Si votre site Web renvoie un écran vide, revenez immédiatement à votre copie sauvegardée du fichier .htaccess en la téléchargeant par-dessus la version contenant des erreurs.

Si vous ne pouvez pas localiser votre fichier de sauvegarde, téléchargez un fichier .htaccess vierge ou supprimez complètement le fichier .htaccess. Cela vous permettra de remettre votre site en ligne, ce qui sera évidemment votre priorité lorsque votre site sera hors ligne.

Ne prenez pas de risques avec le fichier .htaccess. Ayez toujours une sauvegarde. Vous avez été prévenu 🙂

1. Protéger .htaccess

En raison du contrôle que .htaccess exerce sur l’ensemble de votre site Web, il est important de protéger le fichier contre les utilisateurs non autorisés. L’extrait suivant empêchera les pirates d’accéder à votre fichier .htaccess. Bien entendu, vous pouvez toujours modifier vous-même le fichier via FTP et le gestionnaire de fichiers de votre panneau de contrôle d’hébergement.

ordre allow,deny
refuser de tous
satisfaire à tous

2. Protéger WP-Config.php

Un autre fichier important est wp-config.php. Ce fichier de configuration contient les informations de connexion à votre base de données WordPress ainsi que d’autres paramètres de maintenance importants. Il est donc conseillé d’en désactiver l’accès.

ordre allow,deny
deny from all

3. Protéger /Wp-Content/

Le répertoire wp-content est l’une des zones les plus importantes de votre site Web WordPress. C’est là que se trouvent les fichiers vitaux tels que vos thèmes, plugins, médias téléchargés (images et vidéos) et fichiers en cache.

Pour cette raison, il est l’une des principales cibles des pirates informatiques. L’année dernière, un spammeur a réussi à compromettre un de mes anciens sites Web en téléchargeant un script de messagerie dans mon dossier de téléchargements. Il a ensuite envoyé des courriers indésirables en utilisant mon serveur, ce qui a placé ce dernier sur les listes noires de spam.

Vous pouvez lutter contre ce type de menaces en créant un fichier .htaccess distinct et en y ajoutant le code suivant :

Ordre deny,allow
    Refuser tout
    
    Autoriser à partir de tous

Vous devez ensuite télécharger ce fichier .htaccess distinct dans le répertoire principal de wp-content, à savoir www.yourwebsite.com/wp-content/. Ce faisant, vous autoriserez le téléchargement de fichiers multimédias, notamment XML, CSS, JPG, JPEG, PNG, Gif et Javascript. Tous les autres types de fichiers seront refusés.

4. Bloquez les fichiers à inclure uniquement

Certains fichiers ne doivent jamais être accessibles à l’utilisateur. Vous pouvez bloquer l’accès à ces fichiers en ajoutant le code suivant à votre fichier .htaccess :

# Bloquer les fichiers include-only.

RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

5. Limitez l’accès à la zone d’administration

Un autre point d’entrée pour les pirates est la zone d’administration de WordPress. S’ils accèdent à cette zone, ils peuvent faire presque n’importe quoi à votre site Web.

Pour rendre cette zone plus sécurisée, créez un nouveau fichier .htaccess et ajoutez-y le code ci-dessous :

# Limiter les connexions et l'administration par IP

ordre deny,allow
deny from all
allow from 12.34.56.78

Veillez à remplacer 12.34.56.78 par votre propre adresse IP (vous pouvez trouver votre adresse IP à la page What Is My IP ?). Téléchargez ensuite le fichier dans le dossier /wp-admin/ de votre site Web, c’est-à-dire www.yourwebsite.com/wp-admin/.

Cela vous permettra d’accéder à la zone d’administration de WordPress, mais bloquera tous les autres utilisateurs.

Des adresses IP supplémentaires peuvent être ajoutées pour les autres administrateurs et le personnel. Vous pouvez le faire en ajoutant des lignes d’autorisation supplémentaires ou en listant leurs adresses IP dans la ligne d’autorisation principale et en les séparant par des virgules. Par exemple

autoriser à partir de 12.34.56.78, 98.76.54.32, 19.82.73.64

6. Bannir quelqu’un de votre site Web

Si vous connaissez l’adresse IP d’une personne malveillante, vous pouvez la bannir complètement de votre site Web en utilisant le code ci-dessous. Par exemple, vous pouvez bannir quelqu’un qui laisse toujours des commentaires abusifs ou quelqu’un qui a tenté d’accéder à votre zone d’administration.

ordre allow,deny
refuser de 123.456.78.9
refuser à partir de 987.654.32.1
allow from all

7. Envoyer les visiteurs vers une page de maintenance

Les plugins de maintenance tels que Ultimate Maintenance Mode et Maintenance sont utiles pour afficher un message temporaire aux visiteurs lorsque vous développez un site Web, ou lorsque vous travaillez en arrière-plan pour mettre à jour votre site Web.

Malheureusement, les plugins de maintenance ne sont pas d’une grande aide si vous êtes confronté au fameux écran blanc de WordPress. Ils ne fonctionnent correctement que si votre site Web fonctionne correctement.

Si vous voulez vous préparer au pire, je vous recommande de créer une page HTML de base nommée maintenance.html qui informe les visiteurs que vous rencontrez actuellement des problèmes avec votre site Web, mais que vous serez bientôt de retour en ligne. Si votre site Web tombe en panne à cause d’une tentative de piratage ou de l’écran blanc de la mort, il suffit d’ajouter l’extrait ci-dessous à votre fichier .htaccess pour diriger tout le trafic vers votre message à maintenance.html.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html

#13 ;
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /maintenance.html [R=302,L]
Vous devez configurer le code ci-dessus pour votre propre site web. Remplacez le nom du fichier html par le nom et l’emplacement de votre propre fichier de maintenance dans la deuxième et la quatrième ligne. Vous devez également ajouter votre propre adresse IP à la troisième ligne pour vous assurer que vous pouvez accéder à votre site Web pendant que le message de maintenance est affiché pour les autres. Le code utilise une redirection 302 afin que la page de maintenance elle-même ne soit pas indexée.

8. Désactiver la navigation dans les répertoires

Permettre à des personnes non autorisées de consulter vos fichiers et dossiers peut constituer un risque majeur pour la sécurité. Pour désactiver la consultation de vos répertoires, il suffit d’ajouter ce petit bout de code à votre fichier .htaccess :

# disable directory browsing
Options Tout -Index

9. Activez la mise en cache du navigateur

La mise en cache du navigateur est un sujet que j’ai abordé récemment dans mon article « Optimisez votre site Web WordPress en utilisant ces conseils simples ». Une fois activée, la mise en cache du navigateur permettra aux visiteurs d’enregistrer les éléments de votre page Web afin qu’ils n’aient pas besoin d’être téléchargés à nouveau.

Elle est utilisée pour les éléments de conception tels que les feuilles de style CSS et les éléments multimédias tels que les images. Il s’agit d’une solution pratique, car lorsqu’une personne télécharge une image sur un site Web, cette image est rarement remise à jour. La mise en cache du navigateur permet donc aux visiteurs de charger l’image enregistrée sur leur ordinateur plutôt que sur votre serveur. Cela réduit la bande passante et augmente les temps de chargement des pages.

Pour activer la mise en cache du navigateur, il suffit d’ajouter ce code à votre fichier .htaccess :

## EXPIRE LE CACHE DE NAVIGATION ##

ExpiresActive On
ExpiresByType image/jpg " accès 1 an "
ExpiresByType image/jpeg "accès 1 an"
ExpiresByType image/gif " accès 1 an "
ExpiresByType image/png " droit d'accès 1 an "
ExpiresByType text/css " accès 1 mois "
ExpiresByType application/pdf " accès 1 mois "
ExpiresByType texte/x-javascript " accès 1 mois "
ExpiresByType application/x-shockwave-flash " accès 1 mois "
ExpiresByType image/x-icon "droit d'accès 1 an"
ExpiresDefault "accès 2 jours"

 
## EXPIRES CACHING ##

10. Rediriger une URL

Les redirections 301 vous permettent d’informer les moteurs de recherche qu’une URL a été définitivement déplacée vers un nouvel emplacement. Elles peuvent être utilisées pour rediriger une page, un dossier ou même un tout nouveau site web.

Elles sont donc utilisées chaque fois que l’URL d’une page change. Cela peut être dû à un changement de domaine, à la modification de la structure des permaliens de votre site Web ou simplement à la modification du slug de la page (par exemple, la modification du slug d’un article de my-news à mygreatnews).

Pour rediriger un emplacement, il suffit d’ajouter une ligne avec Redirect 301, suivie de l’ancien emplacement, puis du nouvel emplacement. Vous pouvez voir comment cela fonctionne en pratique ci-dessous :

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html
Rediriger 301 /oldfolder/page2.html /folder3/page7.html
Rediriger 301 / http://www.mynewwebsite.com/

11. Désactiver le Hotlinking

Le hotlinking est une pratique dans laquelle quelqu’un partage une image de votre site Web en établissant un lien direct avec l’URL de l’image. Cette pratique est courante sur les forums de discussion, mais de nombreux propriétaires de sites Web la pratiquent encore (ce qui est une erreur car cela signifie que les images peuvent être supprimées de votre contenu à tout moment). Le hotlinking peut avoir un effet négatif sur votre site web. Outre le fait qu’il ralentit votre site, il peut également augmenter de manière significative vos coûts de bande passante auprès de votre société d’hébergement.

Vous pouvez empêcher la création de liens dynamiques en autorisant uniquement votre propre site Web, et tous les autres sites que vous possédez, à exécuter des fichiers image. Ajoutez le code ci-dessous à votre fichier .htaccess pour empêcher les autres de faire du hotlinking avec vos images. Veillez à remplacer les URL ci-dessous par les adresses de votre propre site Web.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^

#13 ;
RewriteCond %{HTTP_REFERER} !^http(s?://(www.?yourwebsite.com) [www !^http(s)?://(www.)?yourwebsite.com [NC]
RéécrireCond %{HTTP_REFERER} !^http(s) ? !^http(s)?://(www.)?yourotherwebsite.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]
Lorsqu’une personne consulte une de vos images à une autre URL, elle verra l’image indiquée dans la dernière ligne de code. Cette image peut être changée en ce que vous voulez.

* Notez que si vous désactivez l’établissement de liens dynamiques, certains lecteurs RSS risquent d’avoir des difficultés à afficher vos images à partir de votre flux RSS.

J’espère que vous avez apprécié cette liste de trucs et astuces pour le fichier .htaccess. Comme vous pouvez le constater, il s’agit d’un fichier de configuration polyvalent qui peut être utilisé pour de nombreuses choses.

Si vous avez apprécié cet article, je vous encourage à vous abonner au blog d’Elegant Themes. N’hésitez pas non plus à partager vos propres conseils et astuces sur le fichier .htaccess dans la zone de commentaires 🙂