Bien plus qu'un hébergeur !

Erreurs 404 dans un sous-répertoire d’une installation de WordPress

Par mesure de sécurité, cPanel, WordPress Toolkit Deluxe ou les plugins de sécurité WordPress tels que Sucuri ou Wordfence peuvent empêcher l’accès aux sous-dossiers hébergés dans le répertoire de votre installation de WordPress.

Exemple de cas concret :

  • example.com est votre site WordPress

Vous souhaitez y ajouter un forum de discussion propulsé par un autre CMS tel que phpBB, dans un sous-dossier.

Vous allez donc créer ce répertoire dans votre dossier d’installation de WordPress :

  • example.com/forum/

Malheureusement, lorsque vous tentez d’accéder à ce répertoire, vous recevez une page d’Erreur 404 ou une Erreur 401 servie par WordPress.

Erreur 404

Si vous avez sécurisé votre site WordPress, ce comportement est normal, car…

  1. le fichier .htaccess de WordPress (configuré pour les permaliens) redirige tout le trafic de example.com/* pour qu’il soit traité par le fichier index.php de WordPress, à savoir example.com/index.php. Cela vaut donc pour le répertoire example.com/forum/
  2. certains mesures de sécurité (par exemple, WP Toolkit et Sucuri), peuvent bloquer l’accès aux sous-dossiers non connus dans les installations de WordPress classiques

Comment autoriser l’accès aux sous-dossiers pour les hébergements disposant du WordPress Toolkit Deluxe de cPanel ?

Le module WordPress Toolkit Deluxe de WordPress propose plusieurs excellentes mesures de sécurité (durcissement), garantissant un haut niveau de sécurité à tous vos sites WP. Cependant, dans certains cas de figure spécifique, il peut être nécessaire de désactiver certaines options.

Désactiver Sécurité WordPress Toolkit Deluxe 401 404 sous-dossiers

Voici de notre côté, les 2 options de durcissement qu’il serait nécessaire de désactiver pour retrouver l’accès aux sous-dossiers de WordPress.

Enable bot protection.

Cette mesure protège votre site Web contre les bots (robots automatiques) malveillants ou nuisibles. Il bloque les robots qui analysent votre site Web à la recherche de vulnérabilités, et qui surchargent votre site Web de requêtes indésirables. Notez que vous voudrez peut-être désactiver temporairement cette mesure si vous envisagez d’utiliser un service en ligne pour analyser votre site Web à la recherche de vulnérabilités, car ces services peuvent également utiliser de tels robots.

Block author scans.

Les analyses d’Auteurs WordPress cherchent à trouver les noms d’utilisateur des utilisateurs enregistrés (en particulier l’administrateur WordPress) et attaquent par force brute la page de connexion de votre site Web pour y accéder. Cette mesure de sécurité empêche les analyses qui cherchent à découvrir quels sont les noms d’utilisateur WordPress. Notez qu’en fonction de la configuration de vos Permaliens WordPress, cette mesure peut empêcher les visiteurs d’accéder aux pages répertoriant tous les articles d’un certain auteur.

Nous avons constaté que l’addition de ces 2 mesures de sécurité empêchait parfois l’accès aux sous-répertoires placés dans un dossier WordPress.

Comment (toujours) autoriser certains sous-dossiers dans WordPress ?

Dans le cas où vos Erreurs 404 ou 401 ne sont pas liées au durcissement de sécurité de WP Toolkit et si vous n’arrivez pas à identifier la source de ces erreurs, il peut être nécessaire d’autoriser manuellement le répertoire, via le fichier .htaccess présent à la racine de votre instance de WordPress.

Voici la ligne de code à ajouter :

RewriteCond %{REQUEST_URI}  !(forum|folder2|folder3|folder4) [NC]

Dans cet exemple, nous autorisons les sous-répertoires : forum, folder2, folder3 et folder4.

Voici où intégrer cette ligne de code au cœur des directives htaccess par défaut de WordPress :

# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Autoriser manuellement certains répertoires :
RewriteCond %{REQUEST_URI}  !(forum|folder2|folder3|folder4) [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Si vous ne trouvez pas votre fichier .htaccess à la racine de votre dossier WordPress, via le File Manager de cPanel, pensez à activer l’affichage des fichiers .dotfiles !

Notez que la modification du fichier .htaccess ne représente pas toujours une solution définitive…

Le fichier .htaccess est modifié / restauré automatiquement sans raison apparente, ce qui fait réapparaitre les erreurs 401 et 404

Si les erreurs 404 ou 401 réapparaissent de façon inexpliquée, c’est que soit WordPress Toolkit Deluxe ou l’un de vos plugins WordPress mettent à jour périodiquement votre fichier .htaccess pour y réintégrer la mesure de sécurité et ce, de façon automatique.

Dans ce cas, il est alors nécessaire de trouver la source du problème, par exemple, en vérifiant vos paramètres WordPress Toolkit Deluxe et/ou en changeant de plugin de sécurité WordPress. Nous recommandons Wordfence et Sucuri en guise de remplaçant de votre plugin de sécurité actuel.

Notre support WordPress est à votre disposition !

Comme vous le savez, EasyHoster n’est pas un hébergeur comme les autres, puisque tous nos plans d’hébergement incluent un certain niveau de support technique offert pour WordPress.

Pour toute aide relative à des erreurs 404 non souhaitées sur votre site WordPress ou un sous-dossier, n’hésitez pas à demander assistance à notre support technique.

L'avez-vous manqué : Mon site WordPress rencontre des problèmes de lenteur chez mon hébergeur actuel, pouvez-vous m’aider ?
Sur le même sujet : Déplacer des milliers de fichiers média depuis le /uploads/ de WP vers des sous-dossiers ?
Sommaire de ce billet
Besoin d'aide ?