Experts maintenance WordPress depuis 2016 | 4.7/5 avis vérifiés

Htaccess wordpress : rôle, usages et conseils pratiques

Nicolas Lecat - Expert WordPress
Htaccess wordpress : rôle, usages et conseils pratiques
Sommaire

Qu’est-ce qu’un fichier htaccess dans WordPress ?

Le fichier .htaccess est un fichier de configuration puissant pour les serveurs web Apache. Il permet de contrôler le comportement de votre site web, en particulier son aspect au niveau de l’accès et des URL.

Dans le contexte de WordPress, ce fichier .htaccess joue un rôle important. Il est essentiel pour le bon fonctionnement des permaliens, des redirections, de la sécurité du site et de la gestion de la cache.

Le fichier .htaccess agit au niveau du serveur, bien avant que le php n’intervienne. Il permet donc de mettre en place des règles qui s’appliquent avant même que votre application wordpress ne soit sollicitée.

Par défaut, une installation WordPress place un .htaccess avec les règles basiques pour les permaliens. Voyons ensemble à quoi il sert et comment le modifier.

Souvent caché, ce fichier est un outil essentiel pour personnaliser le fonctionnement de votre site. Il permet, entre autres, la gestion des url, de la redirection ou encore des règles de sécurité.

Vous pouvez le modifier en fonction de vos besoins. De fait, il peut être une source d’erreur, mais une bonne compréhension de ses directives permet de l’utiliser à bon escient.

Un fichier .htaccess est donc un fichier texte qui influence le comportement du serveur web Apache. Il est principalement utilisé pour modifier la configuration par défaut du serveur.

L’intérêt de ce fichier réside dans sa capacité à exécuter des actions au niveau du répertoire où il est situé, sans avoir à changer la configuration globale du serveur.

Pourquoi utiliser un fichier htaccess avec WordPress ?

Le .htaccess est bien plus qu’un simple fichier, il est le chef d’orchestre de votre site WordPress. Il permet une multitude d’actions importantes pour le bon fonctionnement et la sécurité de votre site.

  • Gestion des Permaliens : Il permet d’utiliser des permaliens personnalisés, rendant les url de votre site plus propres et plus seo-friendly. Un permalien correct est capital pour l’indexation de vos pages.
  • Redirections : Vous pouvez facilement rediriger des anciennes url vers de nouvelles, évitant ainsi les erreurs 404 et améliorant l’expérience utilisateur. Cela permet également de préserver le jus seo lors des changements d’url.
  • Sécurité : Le fichier .htaccess permet d’implémenter des règles de sécurité pour limiter l’accès à certaines ressources, bloquer les adresses ip suspectes ou encore pour protéger des dossiers sensibles comme wp-admin.
  • Performance : En optimisant la gestion de la cache et en comprimant les fichiers avec gzip, le .htaccess peut contribuer à rendre votre site plus rapide. Une meilleure rapidité du site est bénéfique pour l’expérience utilisateur et le seo.
  • Accès au serveur : Il permet de modifier la manière dont le serveur gère les requêtes, par exemple pour rendre un site plus stable face à une attaque. Les règles du .htaccess s’appliquent avant que WordPress ne soit chargé.

Ces fonctionnalités ne sont qu’une partie de ce que le .htaccess peut apporter à votre site. Maîtriser son utilisation vous permettra de contrôler votre site WordPress.

Il peut aussi régler des problème de fonctionnement comme l’indisponibilité d’une page, en cas d’erreur 500 par exemple.

Il est important de savoir comment le modifier en toute sécurité, et si besoin comment corriger une erreur lié à la modification de ce fichier .htaccess.

Comment créer ou modifier un fichier htaccess sur WordPress ?

Le fichier .htaccess est généralement localisé à la racine de votre site WordPress. Pour le créer ou le modifier, vous pouvez accéder à votre serveur via un client ftp comme FileZilla, ou le gestionnaire de fichiers de votre hébergeur (cPanel, Plesk…).

Il est vivement conseillé de faire une sauvegarde de votre fichier .htaccess avant toute modification. Cela permet de revenir en arrière en cas d’erreur.

La modification du .htaccess doit être faite avec prudence et attention.

Pour modifier le fichier, suivez ces étapes :

  • Connectez-vous à votre serveur via ftp ou votre gestionnaire de fichier.
  • Localiser le fichier .htaccess, dans le même répertoire que vos fichiers wordpress comme wp-config.php ou wp-content. S’il n’existe pas, vous pouvez le créer en respectant son nom (.htaccess). Attention, il est caché, activez l’option « afficher les fichiers cachés » sur votre outil ftp.
  • Ouvrez le fichier dans un éditeur de texte comme Notepad++ ou Sublime Text.
  • Modifier le code en ajoutant ou modifiant les directives nécessaires. Le code doit respecter les règles du serveur Apache.
  • Enregistrez les modifications.
  • Vérifier l’effet des modifications sur votre site. En cas d’erreur, il faudra corriger le code ou revenir à la version initiale grâce à la sauvegarde.

Il est parfois plus pratique de passer par le gestionnaire de fichiers du panneau de contrôle de votre hébergement car l’interface est plus intuitive pour un utilisateur débutant.

Comprendre la structure d’un fichier .htaccess WordPress

Un fichier .htaccess est un ensemble de directives et de règles qui indiquent au serveur comment traiter les requêtes. Chaque ligne de ce fichier représente une instruction pour le serveur.

Une compréhension minimale de la syntaxe est donc utile.

Les directives htaccess commencent généralement par un mot clé suivi d’un ou plusieurs paramètres. Voici les plus courantes :

  • RewriteEngine On: Cette directive active le moteur de réécriture d’url, mod_rewrite, qui est essentiel pour les permaliens et redirections. Sans cette ligne, les règles rewriterule ne fonctionneront pas.
  • RewriteRule : Cette directive définit les règles de réécriture d’url, en indiquant comment une url doit être transformée ou redirigée. Un grand nombre d’option et de conditions peuvent être inclus.
  • RewriteCond : C’est une directive qui spécifie des conditions pour que la rewriterule suivante soit exécutée. RewriteCond permet de filtrer les requêtes sur base d’une information comme un header ou une adresse ip.
  • AddType : Indique au serveur le type de contenu d’un fichier en fonction de son extension (exemple .svg, .webp…).
  • AuthType, AuthUserFile et Require valid-user : Ces directives permettent de protéger des répertoires par un mot de passe (htpasswd), en forçant un login. C’est utile si vous voulez interdire l’accès à un dossier spécifique.
  • Deny from, Allow from : Permettent de bloquer ou d’autoriser l’accés au site sur base d’une adresse ip ou d’un nom de domaine.
  • SetEnv : Définit une variable d’environnement, par exemple pour activer un affichage plus précis d’une erreur php (cela peut être utile pour débugger un site).

Un bloc htaccess typique pour wordpress ressemble souvent à ça :


    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

Dans cet exemple, RewriteEngine On active le module, RewriteBase définit le répertoire de base et la Rewriterule permet de gérer les url pour les permaliens. Le begin et le end indique la zone des règles spécifiques wordpress dans le fichier .htaccess.

En cas d’erreur sur cette partie, vous pouvez donc cibler la modification.

Comprendre la signification de chaque directive est primordial pour éviter des erreurs et exploiter au mieux les possibilités du .htaccess.

Exemples courants de règles htaccess pour WordPress

Le fichier .htaccess est un outil polyvalent. Voici des exemples de règles que vous pourriez vouloir mettre en œuvre :

  • Redirection HTTP vers HTTPS: Pour forcer l’utilisation du ssl et sécuriser les échanges avec le serveur, il suffit d’ajouter cette règle :
    
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^()$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    
  • Redirection d’un nom de domaine vers un autre: En cas de changement de domaine, vous pouvez rediriger les visiteurs sur le nouveau nom. Cela peut aussi servir pour rediriger site.org vers www.site.org, pour n’avoir qu’une seule url valide :
    
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^ancien-domaine\.org$ [OR]
        RewriteCond %{HTTP_HOST} ^www\.ancien-domaine\.org$
        RewriteRule ()$ https://www.nouveau-domaine.org/$1 [R=301,L]
    
    
  • Bloquer l’accès à wp-login.php: Pour éviter le bruteforce, vous pouvez ajouter des règles comme celles-ci:
    
    <Files wp-login.php>
      order deny,allow
      deny from all
      allow from xx.xx.xx.xx
    </Files>
    
    

    Remplacez les xx par l’adresse ip autorisée. Vous pouvez ajouter plusieurs allow ou limiter par des règles de pays ou via un bloc de ip. Vous pouvez également ajouter le code AuthType Basic, AuthName "restricted area", AuthUserFile /chemin/.htpasswd, Require valid-user. Ces lignes couplées à un fichier htpasswd bloquent l’accès à la page login de WordPress.

  • Empêcher l’indexation des dossiers: Pour des raisons de sécurité et de gestion du cache, il est utile de désactiver l’indexation des dossiers :
    
    Options -Indexes
    
    
  • Gérer le cache pour une page: Le htaccess permet de spécifier le cache des différentes ressources, une page html par exemple :
    
    <filesMatch "\.(html|htm)$">
    Header set Cache-Control "max-age=3600, public"
    </filesMatch>
    
    

    Ceci peut rendre votre site plus rapide. Un bon header de cache est primordiale pour l’optimisation du temps de chargement de vos pages. Pour vider le cache de votre site wordpress manuellement, voir ce guide : Comment vider le cache WordPress : guide pratique et complet.

Comment résoudre une erreur htaccess sur WordPress?

Une modification incorrecte du fichier .htaccess peut entraîner des erreurs sur votre site WordPress, comme une erreur 500 (Internal Server Error). Si vous rencontrez un tel problème, voici les étapes à suivre :

  • Restaurer la sauvegarde : Commencez par restaurer la dernière version fonctionnelle de votre fichier .htaccess (d’où l’intérêt d’en faire une sauvegarde avant toute modification). Si vous n’avez pas fait de sauvegarde, vous pouvez généralement obtenir le code htaccess par défaut auprès de votre hébergeur.
  • Vérifier les règles : Si l’erreur persiste, vérifiez attentivement les directives et les règles que vous avez ajoutées. Une syntaxe incorrecte est souvent à l’origine des problèmes. Modifier une ligne à la fois permet d’isoler l’erreur.
  • Activer le mode debug : Il est possible de visualiser l’erreur précisément dans les logs du serveur. Cette option peut vous donner des informations utiles pour la résoudre.
  • Tester le fichier avec un outil : Certains outils en ligne permettent de valider la syntaxe de votre fichier .htaccess. Il peut aussi détecter des erreurs courantes.
  • Contacter votre hébergeur : Si malgré tout, vous ne parvenez pas à résoudre le problème, n’hésitez pas à contacter le support de votre hébergeur. L’équipe de support peut souvent vous aider à identifier l’erreur et à la corriger. Si l’erreur vient d’une mauvaise version de php qui a fait planter le site, votre hébergeur peut avoir des outils pour cela.

Dans la plupart des cas, une erreur de .htaccess est facilement corriger. Suivez nos conseils et prenez le temps de modifier votre fichier avec attention.

Vous pouvez utiliser un plugin de cache pour la performance et vous faire gagner du temps lors des configurations. Si vous avez un problème pour mettre à jour votre site, cela peut avoir une incidence sur le bon fonctionnement de ce dernier.

Pour cela, voir : Comment corriger un site wordpress qui ne se met pas à jour immédiatement.

En résumé : Optimiser votre htaccess pour WordPress

Le fichier .htaccess est un atout puissant pour tout site WordPress. Bien configuré, il peut considérablement améliorer la sécurité, la performance, et l’expérience utilisateur de votre site.

Le htaccess permet de gérer des redirection, la réécriture d’url, des accès à certaines ressources, la cache etc…

Maîtriser le htaccess c’est maîtriser son site. Ne négligez pas ce fichier !

En cas de besoin, notre équipe chez Hostay peut vous accompagner dans la configuration, la modification, ou la correction de votre fichier .htaccess. Le but est d’éviter un piratage et une perte de données.

Nos offres d’hébergement sur mesure sont spécialement conçues pour garantir une haute disponibilité, la performance et la sécurité de votre site. Découvrez également nos solutions d’injection sql sur wordpress.

N’hésitez pas à nous solliciter pour toute question. Pour des conseils personnalisés et des solutions d’hébergement WordPress, faites confiance à notre expertise.

Avec notre accompagnement et notre support client, bénéficiez d’un suivi dédié, accessible directement sur la ligne portable de notre directeur du support, Nicolas, par mail ou par téléphone.

Nous avons vu dans cet article que le fichier htaccess permettait de personnaliser le fonctionnement de votre site web. Un autre fichier important, le wp-config.php, est la base de données de WordPress.

Apprenez comment le sécuriser dans cet article : Comment sécuriser wp-config.php pour protéger votre site wordpress. Pour des performance accrue, notre expertise et nos conseils vous seront utiles : optimiser wordpress performance et sécurité avec cloudflare.

Si vous vous demandez, pourquoi ne puis-je pas ajouter ou installer des extensions dans wordpress, il faut d’abord vérifier que vous avez l’accès admin à votre site et que des restrictions ne sont pas appliquées via un code particulier (c’est par exemple possible avec le htaccess) et que le serveur de votre hébergement fonctionne correctement. Nos experts peuvent vous accompagner dans le processus.

Questions fréquentes

Comment corriger une erreur 500 sur mon site WordPress causée par le htaccess?

En cas d’erreur 500 suite à une modification du fichier htaccess, restaurez immédiatement la dernière sauvegarde fonctionnelle de ce file. Si vous n’avez pas de sauvegarde, contactez votre hébergeur. Vérifiez ensuite attentivement chaque ligne de code ajoutée ou modifiée. L’activation du mode debug serveur peut vous fournir plus d’informations. Testez aussi votre code dans un validateur htaccess en ligne. En dernier recours, n’hésitez pas à demander de l’aide à votre support d’hébergement pour corriger cette erreur. Une mauvaise configuration du fichier htaccess peut rendre votre site internet inaccessible.

Comment vider le cache de mon site WordPress manuellement?

La mise en cache est importante pour la performance. Pour vider le cache manuellement, vous pouvez utiliser plusieurs méthodes en fonction du type de cache. Pour le cache de votre navigateur, videz l’historique de navigation. Pour le cache WordPress, vous pouvez supprimer le cache via un plugin, ou en désactivant et réactivant les options de cache. La mise en cache est un paramètre important pour l’optimisation de votre site.

Pourquoi certaines extensions ne peuvent pas être installées sur mon site WordPress ?

L’impossibilité d’installer des extensions sur WordPress est souvent due à un problème d’accès administrateur ou à des restrictions mises en place par le fichier htaccess ou un code particulier de votre site. Assurez vous que votre serveur fonctionne correctement. Nos experts peuvent vous accompagner pour créer un environnement fonctionnel et corriger ce problème.

Comment puis-je protéger mon fichier htaccess ?

Pour protéger votre fichier htaccess, vous pouvez utiliser plusieurs méthodes. La plus courante est d’ajouter la ligne `deny from all` qui empêche l’accès au fichier par le visiteur. Il est également possible d’utiliser des modules serveur comme `mod_authz_core` pour contrôler l’accès à ce document.

Qu’est-ce qu’un fichier htaccess et à quoi sert-il ?

Un fichier htaccess est un fichier de configuration utilisé par les serveurs web Apache. Il permet de définir des règles et des directives pour modifier le comportement du serveur pour un dossier spécifique. Par exemple, vous pouvez créer des redirections, réécrire des permalink, gérer la mise en cache de votre contenu, sécuriser votre site ou encore bloquer l’accès à certains dossiers ou fichiers. Ce file est très utile pour créer une configuration unique et optimisée pour votre site. Le htaccess file permet d’agir en amont, avant que wordpress ne soit chargé.

Comment créer un fichier htaccess optimisé pour WordPress ?

Pour créer un htaccess optimisé, commencez par ajouter la directive `RewriteEngine On`, essentiel pour la gestion des permaliens. Vous pouvez utiliser la ligne `addtype` pour le type de content comme les formats d’image et la ligne `AddOutputFilterByType DEFLATE text/plain text/html text/xml application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript` pour compresser le texte. Il est important d’adapter ces réglages en fonction des besoins de votre site. Il est aussi possible d’optimiser la gestion de la cache avec le bon header.

Quelles directives htaccess utiliser pour sécuriser un site ?

Pour sécuriser un site, vous pouvez bloquer l’accès à wp-login.php en utilisant les directives order deny,allow deny from all allow from xx.xx.xx.xx en remplaçant xx.xx.xx.xx par votre adresse ip. Vous pouvez aussi utiliser les directives Authtype, AuthUserFile, et Require valid-user avec un fichier htpasswd pour protéger l’accès à un dossier spécifique ou modifier le code du tableau de bord. Ces mesures permettront de renforcer la sécurité de votre site. Il est impératif de modifier le code avec attention.

Comment modifier un fichier htaccess ?

Pour modifier le fichier htaccess, il est important de suivre plusieurs étapes. Connectez vous à votre serveur par ftp ou via le panneau de contrôle de votre hébergeur. Localisez le fichier htaccess qui se trouve généralement à la racine de votre site. S’il n’existe pas, vous pouvez en créer un nouveau avec un éditeur de texte. Modifiez le code selon vos besoins puis enregistrer les modifications. Testez ensuite le résultat pour vérifier que tout fonctionne comme attendu.

Comment puis-je gérer les redirections avec htaccess?

Pour gérer des redirections, vous pouvez utiliser les directives `RewriteEngine On`, `RewriteCond` et `RewriteRule` de `mod_rewrite`. Par exemple, pour rediriger un ancien nom de domaine, la directive `RewriteCond` spécifie le nom de domaine source et `RewriteRule` la destination du nouveau nom de domaine. Vous pouvez utiliser des redirections 301 permanentes pour rediriger du contenu de manière SEO-friendly. Le nom de domaine d’un site est très important.

Comment activer le https avec htaccess?

Pour activer le https, vous pouvez utiliser les lignes `RewriteEngine On` puis `RewriteCond %{HTTPS} off` puis `RewriteRule ^()$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]` qui redirigera automatiquement vos visiteurs sur la version sécurisée de votre site en utilisant le module `mod_rewrite`. Le protocole SSL permet de sécuriser les échanges de données entre le serveur et le visiteur. Les permalinks de votre site seront alors fonctionnel. Ce premier réglage permet de sécuriser l’accès à votre site.

Hostay : L’assistance technique WordPress ultra-réactive

Une urgence ?
Je suis Nicolas, responsable du support technique Wordpress chez Hostay. Besoin d'aide ? Appelez-moi de 9h à 18h.
Diagnostic gratuit en 10 minutes