403 Interdit sur un site WordPress
La requête a été comprise et refusée. Le refus est venu du serveur web, d'un pare-feu ou d'une règle de permissions — WordPress est rarement impliqué.
403 Forbidden — You don't have permission to access this resource.
Notez si le site 403s entier ou seulement quelques URLs, et si elle vous suit ou seulement affecte un réseau. Un site 403 est presque toujours des permissions de fichiers ou une règle de réécriture; celui qui suit une personne unique est un bloc IP.
Les causes les plus probables d’abord.
Parcourez la liste dans l’ordre. Vérifiez chaque cause avant de modifier quoi que ce soit : les correctifs diffèrent et une supposition coûte plus cher qu’une commande.
| Cause | Comment vérifier | Correctif |
|---|---|---|
| Fichier ou répertoire autorise le serveur Web ne peut pas lire | L'erreur est à l'échelle du site et constante. Les répertoires doivent être transposables et les fichiers lisibles par l'utilisateur du serveur Web; tout ce qui est plus restrictif produit exactement cela. | Définir les répertoires à 755 et les fichiers à 644, appartenant à l'utilisateur PHP fonctionne comme. Une restauration d'une sauvegarde prise sur un autre hôte est la raison habituelle qu'ils ont dérivé. |
| Un plugin de sécurité a bloqué votre adresse | D'autres personnes peuvent utiliser le site normalement et un réseau différent fonctionne pour vous aussi. Le journal de bord du plugin enregistre le bloc avec votre adresse et une raison. | Effacer le bloc de la liste du plugin, puis relever le seuil qui l'a déclenché. Les connexions répétées échouées sont le déclencheur le plus courant. |
| Une règle de réécriture ou d'accès nie le chemin | Seules certaines URL échouent — wp-login.php, wp-admin, xmlrpc.php — alors que le reste du site est parfait. | Trouvez la règle de refus dans la configuration du serveur ou .htaccess. Les extraits de durcissement copiés dans un tutoriel sont la source habituelle, et ils limitent souvent plus que prévu. |
| Le fichier index est manquant ou non listé | Une URL de répertoire 403s où fonctionne une URL de fichier dans le même répertoire. Le serveur refuse de lister un répertoire qui n'a rien à servir par défaut. | Restaurer le fichier d'index manquant, ou confirmer les points racine du document où vous pensez qu'il le fait. Une racine mal dirigée ressemble exactement à un problème de permissions. |
Corriger l’erreur, étape par étape.
Les commandes supposent un accès à WP-CLI et au terminal. Si vous n’en disposez pas, chaque étape explique comment procéder depuis le tableau de bord ou via SFTP.
Établir la forme de l'échec
Site-wide ou un chemin ; tout le monde ou seulement vous. Ces deux réponses suppriment la plupart de la liste avant que n'importe quelle commande ne soit exécutée.
curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/ curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/wp-login.phpLire l'explication du serveur
Un 403 est presque toujours enregistré avec une raison, et la raison donne le nom de la couche qui a refusé.
tail -n 50 /var/log/nginx/error.log
Rétablir la propriété et les autorisations
Les répertoires traversables, les fichiers lisibles, tous deux détenus par l'utilisateur PHP. Exécutez depuis la racine du site.
find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;Sortir .htaccess de l'équation
Renommer plutôt que de l'éditer, vous pouvez donc le remettre inchangé. WordPress réécrit un nouveau sur demande.
mv .htaccess .htaccess.bak wp rewrite flush --hard
Confirmer à partir d'un autre réseau
Si le site répond d'ailleurs tout en vous refusant, c'est un bloc d'adresses et aucun changement de permission ne vous aidera.
curl -sS -o /dev/null -w '%{http_code}\n' --interface eth1 https://example.com/
Ce que la plateforme prend en charge.
La propriété du fichier est définie à l'utilisateur du site au moment du déploiement et gardée par la plate-forme, de sorte que la dérive de la permission qui suit une restauration manuelle ne se produit pas ici. Le blocage se fait au bord plutôt que par un plugin à l'intérieur de WordPress, ce qui signifie qu'une adresse bloquée n'a jamais atteint PHP et, tout aussi utile, un administrateur qui se verrouille peut être laissé en arrière sans accès à la base de données.
Questions fréquentes.
Pourquoi tout le monde peut-il utiliser le site alors que je ne peux pas?
Devrais-je mettre les permissions à 777 pour les tester?
Le 403 n'apparaît que sur wp-admin. Qu'est-ce que cela suggère ?
En quoi un 403 est-il différent d'un 401 ?
Si le problème vient d’ailleurs.
Ces erreurs peuvent se présenter de façon similaire dans le navigateur.