Je ne suis vraiment pas simple à comprendre : monday code par défaut ressemble à du chinois.

Je me signale par monday apparence singulière, auto mon nom ne possède pas d'extension.

J'ai aussi des pouvoirs magiques. Si vous me paramétrez correctement, je suis capable des choses suivantes :

  • améliorer la sécurité de votre site ;
  • augmenter la vitesse de chargement de vos pages ;
  • mettre en identify des redirections ;
  • limiter le spam ;
  • et même faire des petites blagues : c'est mon côté taquin. 😉
Un homme étonné.
Des blagues ? Vraiment ?

Vous ne me connaissez pas encore ? Je suis le fichier .htaccess de votre site WordPress. Faisons maintenant plus ample connaissance dans ce guide qui k'est consacré.

Tout au long de ces lignes, vous découvrirez plus de trente directives pour me configurer. Elles se matérialisent sous la forme de morceaux de lawmaking prêts à l'emploi, que vous n'aurez plus qu'à copier-coller chez vous.

Continuez la lecture, vous ne serez pas déçu !

Initialement rédigé en octobre 2015, cet article a été mis à jour pour la dernière fois en juin 2022.

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

Le fichier .htaccess est united nations fichier de configuration d'Apache, le logiciel qu'utilisent la majorité des serveurs web pour fonctionner. Le contenu de ce fichier va donner des directives à Apache cascade que le serveur se comporte de telle ou telle manière.

Attention, certains hébergeurs tournent uniquement sur le serveur NGINX. C'est le cas de Flywheel, par exemple. Ils due north'ont donc pas de fichier .htaccess.

Quasiment tous les sites utilisant WordPress possèdent un fichier .htaccess. En effet, WordPress le crée automatiquement lors de fifty'installation, cascade y inclure le paramétrage des permaliens du site.

Lorsque vous allez dans Réglages > Permaliens pour choisir un format d'URL (normalement « Nom de l'article »), le fichier .htaccess est modifié.

Déjà, il faut savoir qu'un site peut posséder plusieurs fichiers .htaccess.

Tout d'abord, il y a le fichier .htaccess chief, situé à la racine du site.

La racine d'united nations site est l'endroit où se trouvent les fichiers de WordPress (dossiers wp-admin, wp-includes et wp-content plus quelques autres fichiers) sur votre serveur. Vous pouvez y accéder en vous connectant à votre client FTP, par exemple. Le nom de ce dossier racine peut varier en fonction de votre hébergeur. Par exemple, il s'appelle public_html chez o2switch (lien affilié) et world wide web chez OVH.

Le contenu du fichier.htaccess principal aureola une influence sur l'ensemble du site.

Pour bien en comprendre tous les tenants et les aboutissants, je vous invite à consulter cette vidéo de la série Point Sécu, disponible sur la chaîne Youtube de WPMarmite :

D'autres fichiers.htaccess peuvent être créés dans des sous-répertoires. Dans le cas de WordPress, on peut en placer un dans le répertoirewp-admin ou wp-content/uploads, par exemple.

Les fichiers .htaccess secondaires auront une influence sur les répertoires dans lesquels ils sont situés, ainsi que dans leurs sous-répertoires.

Si on imagine qu'un fichier .htaccess est présent danswp-content/uploads, le répertoire uploads et tous ses sous-répertoires seront impactés par ce qui sera défini dans le fichier .htaccess.

Logiquement, votre site devrait avoir au moins un fichier .htaccess, celui situé à la racine de votre site. Vous pouvez le modifier à fifty'aide de votre éditeur de code favori (Sublime Text, Brackets, Notepad++, Coda, etc.).

Il existe d'autres solutions, comme le plugin Htaccess File Editor, pour le modifier directement à partir de votre tableau de bord WordPress.

Mais, en cas de problème, il faudra passer par votre client FTP et votre éditeur de code, donc autant le faire directement à la main.

Si vous devez ajouter un fichier .htaccess dans un sous-répertoire, suivez les instructions suivantes.

Créer united nations fichier .htaccess depuis votre ordinateur

  1. Créez un nouveau fichier texte et nommez-le htaccess.txt.
  2. Éditez-le à votre guise.
  3. Envoyez-le à la racine de votre serveur.
  4. Renommez-le en .htaccess.
Un fichier .htaccess sur un logiciel FTP.

Créer un fichier .htaccess depuis votre serveur

  1. Faites united nations clic droit dans le répertoire où il devra se trouver.
  2. Ajoutez un nouveau fichier et nommez-le .htaccess.
  3. Éditez-le avec votre éditeur de code (Notepad++, Coda, Sublime Text ou autre).

Félicitations, vous savez désormais à quoi sert united nations fichier .htaccess et comment le créer. Avant de découvrir les directives que pouvez lui ajouter, pensez à soigner vos arrières !

Attention aux yeux, ça peut piquer !

Précautions d'usage avant de personnaliser un fichier .htaccess

Personnaliser le code d'un fichier .htaccess est assez simple (surtout avec les morceaux de code que propose la suite de cet commodity), mais il ne faut tout de même pas y aller la fleur au fusil.

Avant toute modification, je vous conseille d'abord de réaliser une sauvegarde de votre site WordPress. Pour cela, vous pouvez vous servir d'une extension dédiée comme UpdraftPlus.

Ensuite, sauvegardez le contenu initial de votre fichier .htaccess. Pour ce faire, vous pouvez :

  • dupliquer le fichier .htaccess de votre serveur en un fichier .htaccess-initial ;
  • copier le contenu du fichier dans un fichier texte, sur votre ordinateur.

En cas de problème, vous pourrez restaurer facilement le contenu d'origine.

Pour effectuer des modifications, suivez la procédure suivante :

  • ouvrez le fichier dans votre éditeur de code ;
  • placez vos ajouts dans le fichier ;
  • sauvegardez le tout ;
  • actualisez votre site pour voir si tout va bien.

Fifty'actualisation de votre site est très importante : elle permettra de voir si le lawmaking ajouté ne pose pas de problème.

En général, une erreur 500 « Internal Server Error » s'affichera à l'écran, en cas de problème :

Une erreur 500 « Internal Server Error » est apparue.

Dans ce cas, annulez vos modifications et sauvegardez à nouveau. Tout devrait rentrer dans 50'ordre.

Parfois, il get in que certains hébergeurs n'acceptent pas tel ou tel lawmaking dans le fichier .htaccess

Il faut faire avec.

Contactez le support de votre hébergeur pour en savoir plus. Avec un peu de chance, il n'y aura besoin que d'une légère modification pour que ça fonctionne.

Vous êtes victime d'une erreur WordPress, comme la typique et répandue erreur 500 ? WPMarmite vous propose un guide complet pour résoudre les principales.

Cette fois, tout est bon. Vous savez comment fonctionne un fichier .htaccess, comment le créer et le modifier correctement.

Découvrez à présent comment le personnaliser à five endroits différents :

  1. À la racine du site.
  2. Dans wp-admin.
  3. Dans wp-includes.
  4. Dans wp-content.
  5. Dans wp-content/uploads.

Allez hop, on commence tout de suite par la racine du site. Vous allez voir, cela sera le morceau le plus consistant.

Comme dans la totalité des langages informatiques, le fichier .htaccess permet d'inclure des commentaires. Pour cela, il suffit de placer le symbole # en début de ligne pour que cette dernière soit ignorée. Cela est très pratique pour se gift de ce que réalisent des lignes de code. Vous aurez l'occasion de voir des commentaires dans les exemples de cet commodity.

Si votre installation south'est bien passée, vous trouverez un fichier .htaccess à la racine de votre site. Il contiendra le lawmaking suivant :

              # BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [50]  # End WordPress            

Code par défaut du fichier .htaccess de WordPress

Si vous utilisez WordPress en way multisite, le lawmaking par défaut du fichier .htaccess sera différent. Cela ne vous concernera pas dans la majorité des cas.

Maintenant que vous avez localisé ce fichier, vous allez pouvoir enrichir son contenu avec les morceaux de lawmaking ci-dessous cascade obtenir des choses bien précises. Cela peut concerner la sécurité, mais aussi d'autres choses.

Veillez à ne pas inclure de code entre les commentaires# BEGIN WordPress et# END WordPress car il est possible que ce lawmaking soit modifié dans certains cas.

Nouvelle piqûre de rappel : sauvegardez votre fichier .htaccess d'origine avant d'effectuer la moindre modification. Vous devez pouvoir revenir en arrière en cas de problème.

Désactiver 50'affichage des répertoires

Par défaut, si vous essayez d'accéder aux répertoires d'un site, le serveur les affichera. La mise en forme ressemblera à ceci :

Fichiers et répertoires visibles de WordPress.

Vous vous doutez bien que c'est du pain bénit pour les pirates. Le fait qu'ils puissent voir les fichiers de votre site va les aider à mieux pouvoir 50'attaquer. Insérez le lawmaking suivant dans votre fichier .htaccess pour protéger votre site :

              # Désactiver fifty'affichage du contenu des répertoires Options All -Indexes            

Il est aussi possible d'utiliser ce lawmaking pour empêcher le listage des répertoires :

              # Alternative pour empêcher le listage des répertoires IndexIgnore *            

Cacher les informations du serveur

Chez certains hébergeurs, les pages affichées peuvent contenir des informations relatives au serveur. Ces informations peuvent donner des informations à d'éventuels assaillants.

Il est donc préférable de les masquer avec le code suivant :

              # Masquer les informations du serveur ServerSignature Off            

Activer le suivi des liens symboliques

Je dois vous parler chinois mais il est important d'insérer cette ligne de code dans votre fichier .htaccess principal :

              # Activation du suivi des liens symboliques Options +FollowSymLinks            

Grâce à cela, votre serveur pourra suivre ce que l'on appelle des liens symboliques, c'est-à-dire des raccourcis.

Mettre votre serveur à l'heure

Cela due north'est pas vraiment of import mais si votre serveur se trouve à 50'étranger, vous pouvez lui indiquer de se caler sur votre fuseau horaire avec cette ligne de code :

              # Choix du fuseau horaire SetEnv TZ Europe/Paris            

Définir l'encodage des caractères par défaut

Le lawmaking suivant permet de définir l'encodage des caractères des fichiers texte et HTML en tant que UTF-8 (un codage de caractères informatiques). Sans cela, il y a des risques que les accents soient mal pris en compte.

              # Encodage par défaut des fichiers textes et HTML AddDefaultCharset UTF-8            

Protéger le fichier wp-config.php

Le fichier de configuration de votre site (wp-config.php) contient les identifiants cascade se connecter à la base de données.

C'est le fichier le plus sensible de votre site. Il peut être la cible d'éventuels pirates. Il est possible de le protéger en ajoutant ce code au fichier .htaccess principal :

              # Protéger le fichier wp-config.php <files wp-config.php> order let,deny deny from all </files>            

Protéger le fichier .htaccess lui-même

Tout comme le fichier wp-config.php, le fichier .htaccess doit être protégé au maximum. Pour ce faire, insérez ce code :

              # Protéger les fichiers .htaccess et .htpasswds <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>            

Vous le savez autant que moi si vous avez un blog, le spam de commentaires est une vraie plaie.

Heureusement, il y a une astuce cascade s'en prémunir directement dans le fichier .htaccess. Cela northward'est pas une solution phenomenon mais, combinée avec le plugin Akismet, la majorité des spams devrait être filtrée.

              # Éviter le spam de commentaires <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} Mail 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>            

N'oubliez pas de remplacer monsite.com par votre nom de domaine.

Éviter que 50'on découvre l'identifiant d'un auteur

Même si vous utilisez un identifiant utilisateur complexe, il peut cependant être découvert.

Bien sûr, j'imagine que vous ne l'affichez pas déjà publiquement avec votre thème (ça peut arriver).

Essayez de taper monsite.com/?writer=ten en remplaçant x par 1 pour l'administrateur ou l'ID d'un de vos auteurs. Si vous north'êtes pas protégé, vous serez redirigé vers une folio du typemonsite.com/author/idenfiant_auteur.

Voilà comment on trouve un identifiant en 2 secondes. À partir de là, il ne reste plus qu'à tenter de deviner votre mot de passe.

Pour vous protéger de cette technique, utilisez le code suivant :

              # Éviter que 50'on découvre l'identifiant d'un auteur # Merci à Jean-Michel Silone du groupe Facebook WP-Secure https://world wide web.facebook.com/groups/wp.securite/ <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>            

Merci à Jean-Michel du groupe Facebook Wp-secure pour l'astuce. 🙂

Désactiver le hotlinking de vos images

Un nouvel anglicisme fait son apparition sur WPMarmite. Rassurez-vous, je vous explique tout.

En fait, une fois que vous aurez ajouté des images sur votre site (par exemple dans un article), north'importe quelle personne pourra copier l'adresse URL d'une de vos images, et l'afficher sur son site.

On pourrait se dire que cela n'est pas si grave mais, si cascade une raison 10 ou Y united nations site très suivi reprend votre epitome et l'poster sur une de ses pages, des requêtes seront effectuées au niveau de votre serveur.

Le hotlinking est en réalité united nations vol de bande passante. Si votre site est installé sur un petit serveur mutualisé, votre hébergeur risque de ne pas apprécier auto les ressources sont limitées.

Pour éviter le problème, insérez et personnalisez ce code dans votre fichier .htaccess :

              # Désactiver le hotlinking de vos images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?monsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Pas_touche_aux_images [NC,R,L]            

Remplacez monsite.com par votre nom de domaine

Cascade autoriser certains sites à afficher vos images, utilisez le code suivant :

              # Désactiver le hotlinking de vos images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?monsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?monsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?monsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Pas_touche_aux_images [NC,R,Fifty]            

Remplacez monsite.com, monsite2.com et monsite3.com par les domaines de votre choix

Vous pouvez aussi personnaliser l'image qui s'affichera à la place de 50'image demandée. J'ai ajouté quelque chose de simple, mais vous pouvez être plus taquin.

Bannir des adresses IP

Si vous avez remarqué que certaines adresses IP tentaient de se connecter un peu trop souvent à 50'administration de votre site (par exemple avec le plugin Login Lockdown), vous pouvez vous en débarrasser en bannissant leur adresse IP.

Vous avez aussi la possibilité de récupérer les adresses IP des spammeurs de commentaires pour les bannir de votre site.

Cette solution due north'est pas définitive car votre assaillant pourra changer d'adresse IP, mais cela pourra fonctionner cascade les personnes les moins douées.

              # Bannir une adresse IP <Limit GET Mail> society allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>            

Remplacez xxx.xxx.xxx.xxx par l'adresse IP à bannir

Bloquer les visiteurs provenant de certains sites

Si vous vous rendez compte qu'un site non conforme a fait un lien pointant vers le vôtre, et que vous ne voulez pas que les visiteurs de ce site aient accès à votre site, utilisez ce code :

              # Empêcher les visiteurs de ces sites d'accéder au votre <IfModule mod_rewrite.c>  RewriteEngine on  RewriteCond %{HTTP_REFERER} monsite1.com [NC,OR]  RewriteCond %{HTTP_REFERER} monsite2.com [NC,OR]  RewriteRule .* - [F] </ifModule>            

Remplacez monsite1.com et monsite2.com par les sites de votre choix

Rediriger les visiteurs provenant d'un site vers un autre

Pour aller plus loin que l'astuce précédente, vous pouvez renvoyer les visiteurs provenant de certains sites vers un autre site.

Autant vous dire qu'il y a de quoi bien rigoler. Voici le code à employer :

              # Rediriger les visiteurs venant site vers un autre RewriteEngine on RewriteCond %{HTTP_REFERER} sitesource\.com/ RewriteRule ^(.*)$ http://www.sitedestination.com [R=301,50]            

Remplacez les sites source et destination par ceux de votre choix

Créer des redirections

Le fichier .htaccess permet de faire des redirections (rediriger une URL A vers une URL B).

Cela est bien pratique pour rediriger quelques pages, mais si vous souhaitez créer beaucoup de redirections, je vous conseille le plugin WordPress Redirection, que je vous présente dans cet commodity.

Voici tout de même annotate créer des redirections dans le fichier .htaccess :

              # Redirection d'une folio quelconque Redirect 301 /anciennepage/ http://www.monsite.com/nouvellepage  # Redirection d'une nouvelle catégorie (avec renommage de category en categorie) Redirect 301 /category/technologie/ http://www.monsite.com/categorie/techno/            

Rediriger 50'adresse sans world wide web vers celle avec world wide web

Quand on met en place un site, une des actions à accomplir en priorité est de rediriger le site sans les www vers la version dotée des www (ou l'inverse).

Si vous faites le test la prochaine fois que vous créerez un site, vous constaterez que les deux adresses ne renvoient pas forcément vers votre site.

Dans certains cas, 50'hébergeur south'en charge automatiquement ou il faut l'activer via fifty'administration de l'hébergeur (c'est par exemple le cas avec Gandi).

Si vous devez procéder à cette redirection manuellement, utilisez le lawmaking suivant en remplaçant monsite.com par votre site :

              # Redirection du site sans www vers www RewriteEngine On RewriteCond %{HTTP_HOST} ^monsite.com [NC] RewriteRule ^(.*)$ http://www.monsite.com/$1 [L,R=301]            

Remplacez monsite.com par votre nom de domaine

Rediriger l'adresse avec world wide web vers celle sans world wide web

À fifty'inverse, si vous ne voulez pas des www devant le nom de votre site (comme cascade WPMarmite), il est possible de faire une redirection vers la version sans les world wide web.

Insérez le lawmaking suivant dans le fichier .htaccess :

              # Redirection du site avec www vers la version sans www RewriteEngine on RewriteCond %{HTTP_HOST} ^world wide web\.monsite\.com [NC] RewriteRule ^(.*)$ http://monsite.com/$1 [L,R=301]            

Remplacez monsite.com par votre nom de domaine

Attention : N'utilisez pas ce code avec le précédent sinon votre site souffrira d'une boucle de redirection (auto la version sans www redirigera vers la version avec www qui redirigera vers la version sans world wide web, etc.).

Rediriger vers HTTPS

Si vous avez mis en place un certificat SSL sur votre site pour le passer en HTTPS, vous devez être certain que tous vos visiteurs naviguent bien sur la version sécurisée de votre site.

Dans le cas contraire, des informations sensibles pourraient être récupérées par des pirates (des données personnelles ou bancaires, par exemple).

Utilisez le code suivant pour passer tout votre site en HTTPS :

              # Redirection vers HTTPS  RewriteCond     %{SERVER_PORT} ^fourscore$ RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]            

Forcer le téléchargement de fichiers spécifiques

Lorsque l'on désire télécharger un fichier à partir d'un site, notre navigateur essaie parfois de l'ouvrir pour l'afficher.

Personnellement, je trouve cela pratique pour les fichiers PDF. En revanche, c'est très désagréable cascade d'autres types de fichiers.

Insérez le lawmaking suivant pour que vos visiteurs téléchargent directement les fichiers dotés de ces extensions (modifiez-les à votre guise) :

              # Forcer le téléchargement pour ces types de fichiers AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4            

Créer une folio de maintenance personnalisée

Dans un précédent article, vous avez découvert une sélection d'extensions de maintenance. Pourtant, il y a des cas où la page de maintenance ne pourra pas due south'afficher.

C'est fâcheux, north'est-ce pas ?

Cascade bénéficier d'une page de maintenance, vous pouvez utiliser le code suivant :

              # Page de maintenance RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.30\.thirty\.xxx RewriteRule $ /maintenance.html [R=302,L]            

Pour que cela fonctionne, vous devez :

  • créer united nations fichier maintenance.html avec du contenu indiquant que le site est en maintenance ;
  • ajouter votre adresse IP dans la ligne four (en gardant bien les « \ ») pour vous permettre d'accéder au site (découvrez votre adresse IP sur ce site).

Quand la maintenance sera terminée, mettez des « # » devant chaque ligne pour les passer en commentaire.

Activer la mise en cache

Le fichier .htaccess permet de mettre en cache certains fichiers de votre site dans le navigateur de vos visiteurs cascade que le chargement soit plus rapide.

En effet, le navigateur due north'aura pas besoin de retélécharger les fichiers présents dans son cache.

Pour ce faire, insérez le code suivant :

              # Mise en enshroud des fichiers dans le navigateur <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus ane month"  ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "admission plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds"  ExpiresByType application/rss+xml "admission plus 1 hour" ExpiresByType awarding/atom+xml "access plus one 60 minutes"  ExpiresByType awarding/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus ane calendar month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus i calendar month" ExpiresByType epitome/svg+xml "access plus one month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month"  ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "admission plus ane month" ExpiresByType image/gif "access plus one month" ExpiresByType image/png "access plus 1 calendar month"  ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus ane month" ExpiresByType video/webm "access plus i month"  ExpiresByType text/css "admission plus 6 month" ExpiresByType application/javascript "access plus 6 calendar month"  ExpiresByType application/x-shockwave-wink "access plus 1 week" ExpiresByType image/x-icon "access plus 1 calendar week"  </IfModule>  # En-têtes Header unset ETag FileETag None  <ifModule mod_headers.c>   <filesMatch "\.(ico|jpe?g|png|gif|swf)$">       Header prepare Enshroud-Control "public"   </filesMatch>   <filesMatch "\.(css)$">       Header set Cache-Control "public"   </filesMatch>   <filesMatch "\.(js)$">       Header ready Cache-Control "private"   </filesMatch>   <filesMatch "\.(x?html?|php)$">       Header set Cache-Command "individual, must-revalidate" </filesMatch> </ifModule>            

La mise en enshroud des fichiers sera effective pendant la durée spécifiée cascade chaque type de fichier ou jusqu'à ce que le visiteur vide son cache.

Pour accélérer votre site grâce à la mise en enshroud, je vous conseille l'utilisation du plugin premium WP Rocket (lien aff). Elementary et rapide à configurer, il convient parfaitement aux débutants sur WordPress. Grâce à lui, vous northward'aurez pas besoin d'utiliser le snippet (morceau de lawmaking) proposé ci-dessus.

Activer la compression

En plus de tout ce que nous avons vu jusqu'à présent, il est possible de compresser certaines ressources avant qu'elles ne soient transférées du serveur au navigateur.

Et qui dit compression de fichier, dit vitesse d'affichage plus rapide pour la page. Je vous recommande donc de mettre en place ce code pour donner united nations coup d'accélérateur à votre site :

              # Compressions des fichiers statiques <IfModule mod_deflate.c>      AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x-javascript text/css      BrowserMatch ^Mozilla/4 gzip-only-text/html      BrowserMatch ^Mozilla/iv\.0[678] no-gzip      BrowserMatch \bMSIE !no-gzip !gzip-simply-text/html      SetEnvIfNoCase Request_URI \.(?:gif|jpe?yard|png)$ no-gzip dont-vary      Header append Vary User-Agent env=!dont-vary  </IfModule>    AddOutputFilterByType DEFLATE text/html   AddOutputFilterByType Debunk text/plain   AddOutputFilterByType Deflate text/xml   AddOutputFilterByType DEFLATE text/css   AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType Deflate awarding/json                          

Désactiver l'accès à certains scripts

Pour fonctionner, WordPress utilise des scripts situés dans le répertoire wp-includes. Cependant, il north'y a aucune raison d'y accéder directement. Utilisez ce lawmaking pour en limiter 50'accès :

              # Bloquer l'utilisation de certains scripts RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,50] RewriteRule !^wp-includes/ - [S=three] RewriteRule ^wp-includes/[^/]+\.php$ - [F,50] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]            

Vous pourrez en savoir plus dans le codex.

Protection contre les injections de fichiers

Des pirates peuvent tenter d'envoyer des fichiers sur votre serveur pour prendre le contrôle de votre site. Cascade leur mettre des bâtons dans les roues, vous pouvez inclure ce code dans votre fichier .htaccess :

              # Protection contre les injections de fichiers RewriteCond %{REQUEST_METHOD} Go RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]            

Protection contre d'autres menaces

Sur Facebook, Richard thousand'a indiqué qu'il était possible de se prémunir du clickjacking (ou détournement de clic, en français) et d'autres menaces en ajoutant quelques lignes dans le fichier .htaccess.

Pour info, le clickjacking est une technique qui permet de faire croire à un visiteur qu'il est sur votre site, alors que ce n'est pas le cas, grâce à des balisesframe ou iframe.

Le code suivant permet donc de vous protéger contre le clickjacking, de lutter contre d'autres menaces comme le MIME Sniffing, et de bloquer le contenu en cas d'attaque XSS (qui va injecter du lawmaking HTML ou JavaScript dans des variables mal protégées).

              # Protections diverses (XSS, clickjacking et MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Blazon-Options: "nosniff" </ifModule>            

Et voilà, vous venez de faire le bout de tout un tas d'optimisations à intégrer dans le fichier .htaccess situé à la racine du site.

Passons à la suite : de nouveaux morceaux de code pour les dossiers wp-admin, wp-icludes, wp-content et wp-content/uploads.

wp-admin, c'est 50'antre de votre site. Fifty'endroit où vous vous rendez pour écrire des articles, configurer vos menus, paramétrer votre thème et bien d'autres choses encore.

Il va de soi qu'aucune personne not autorisée ne doit pénétrer dans ce sanctuaire. Sinon, attending les dégâts.

Voici ce qu'il est possible de faire pour durcir la sécurité grâce à un fichier .htaccess que vous aurez placé dans le dossier wp-admin de votre site.

Limiter l'accès à l'assistants du site

Seules les personnes possédant les IP listées pourront accéder au dossier wp-admin. Plutôt pratique pour éviter que des étrangers se connectent à votre site (même due south'ils ont le bon mot de passe).

              <Limit GET POST PUT> order deny,allow deny from all # IP d'Alex allow from thirty.xxx.thirty.30 # IP de Nico allow from 30.thirty.xxx.xxx # IP d'un autre point d'accès allow from xxx.xxx.xxx.30 </Limit>            

Ajouter une seconde authentification

Lorsque vous vous connectez à 50'assistants d'un site WordPress, vous utilisez un identifiant et un mot de passe. Eh bien, il est possible d'en ajouter un 2d grâce au fichier .htaccess, et à un autre fichier.

Tout d'abord, créez un fichier nommé .htpasswd dans le répertoire wp-admin, et insérez-y un couple d'identifiant et mot de passe. Servez-vous de ce site pour vous aider :

L'interface de l'outil HTPasswd Generator.

Entrez l'identifiant à utiliser dans le premier champ, et votre mot de passe dans le second, puis cliquez sur « Generate .htpasswd file » (Générer un fichier .htpasswd).

Copiez ensuite la ligne qui s'affichera dans le fichier.htpasswd. Si vous avez besoin de créer plusieurs utilisateurs, recommencez l'opération et ajoutez le nouveau couple d'identifiant/mot de passe au sein d'une nouvelle ligne.

Par exemple, vous pouvez obtenir ce genre de fichier :

              alex:ieS547B1UxY8M nico:rSqEJf0SeTlRs            

Contenu fictif d'un fichier .htpasswd

Ensuite, insérez le code suivant dans le fichier .htaccess :

              # Seconde authentification cascade fifty'administration  <Files admin-ajax.php> Order let,deny Allow from all Satisfy whatever  </Files>  AuthName "Connexion à l'administration" AuthType Basic AuthUserFile "/chemin/complet/vers/le/fichier/.htpasswd"  Require valid-user            

Le point sensible de cette manipulation est de bien entrer le chemin complet du fichier .htpasswd. Pour le trouver à insurrection sûr, créez un fichier info.php et insérez le lawmaking suivant :

              <?php echo "Chemin à copier : " . realpath('.htaccess'); ?>            

Placez le fichier info.php dans wp-admin

Rendez-vous survotresite.com/wp-admin/info.php et vous obtiendrez le chemin réel du fichier .htpasswd à placer dans le fichier .htaccess. Supprimez le fichier info.php une fois que vous aurez obtenu le bon chemin.

Si vous insérez ce code tel quel, les requêtes AJAX ne fonctionneront plus. Rendez-vous sur SecuPress cascade découvrir comment régler le problème.

Si vous avez bien compris tout ce que je viens de citer, vous devriez avoir une double authentification en place pour accéder à l'assistants de WordPress.

Allez, on passe à la suite.

Bloquer l'accès direct aux fichiers PHP

Créez un fichier .htaccess dans wp-includes, et collez-y le code suivant cascade éviter que des fichiers PHP ne soient chargés directement.

              # Bloque les accès directs aux fichiers PHP (Merci à Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$">   <IfModule !mod_authz_core.c>     Club let,deny     Deny from all   </IfModule>   <IfModule mod_authz_core.c>     Require all denied   </IfModule> </FilesMatch> <Files wp-tinymce.php>   Allow from all </Files> <Files ms-files.php>   Allow from all </Files>            

Le code ci-dessus est fourni par le plugin Sucuri.

Comment personnaliser le fichier .htaccess dans wp-content ?

Bloquer fifty'accès straight aux fichiers PHP

Pour le dossier wp-content, le code est similaire, il y a juste les exceptions en moins :

              # Bloque les accès directs aux fichiers PHP (Merci à Sucuri) <FilesMatch "\.(?i:php)$">   <IfModule !mod_authz_core.c>     Order let,deny     Deny from all   </IfModule>   <IfModule mod_authz_core.c>     Require all denied   </IfModule> </FilesMatch>            

Annotate personnaliser le fichier .htaccess dans wp-content/uploads ?

Bloquer l'accès direct aux fichiers PHP

Toujours avec ce lawmaking, protégez le dossier où sont stockés les médias pour éviter que des fichiers PHP ne soient exécutés par quelqu'un de l'extérieur (un méchant pirate par exemple).

              # Bloque les accès directs aux fichiers PHP (Merci à Sucuri) <FilesMatch "\.(?i:php)$">   <IfModule !mod_authz_core.c>     Order allow,deny     Deny from all   </IfModule>   <IfModule mod_authz_core.c>     Crave all denied   </IfModule> </FilesMatch>            

Récap' terminal sur le fichier .htacess dans WordPress

Vous l'avez découvert tout au long de ces lignes, le fichier .htaccess est united nations outil très puissant cascade configurer le serveur de votre site spider web.

Manipulé avec soin et précaution, il permet d'améliorer la sécurité, la performance, le SEO ou encore l'expérience utilisateur de votre site.

Une nouvelle fois, je vous recommande de toujours conserver une sauvegarde de votre fichier .htaccess d'origine pour effectuer une restauration en cas de problème.

Procédez à vos modifications avec une extrême attention (je vous aurai prévenu !). Des erreurs ou des incompatibilités peuvent se produire en fonction de l'hébergeur de votre site.

Bien que pas mal de choses aient été abordées dans cet article, il est possible d'aller plus loin dans le paramétrage de votre .htaccess, à l'aide de différentes ressources :

  • la documentation de WordPress et celle d'Apache (le logiciel qui fait tourner votre serveur) ;
  • le blog Perishable Press, qui propose même un ouvrage payant sur le sujet ;
  • le blog de 50'agence SeoMix, spécialiste du référencement naturel sur WordPress, présente aussi un article intéressant à ce sujet.

Avant de vous laisser, j'aimerais recueillir votre signal de vue dans les commentaires. Avez-vous personnalisé votre fichier .htaccess ?

Et surtout, northward'hésitez pas à partager aux autres lecteurs les morceaux de code que vous avez fifty'habitude d'utiliser.

WPMarmite

Recevez gratuitement les prochains articles et accédez à des ressources exclusives. Plus de 40000 personnes 50'ont fait, pourquoi pas vous ?