Quelques antécédents:
J'ai installé six blogs cette semaine, tous utilisant Wordpress 2.92, installés avec Fantastico sur un forfait bébé avec Hostgator.
J'ai utilisé le même thème (heatmap 2.5.4) et des plugins pour chaque blog.
Ils étaient tous opérationnels, pas de problèmes du tout.
Je vais créer un nouveau blog ce matin, en utilisant la même configuration, et lorsque j'essaie de modifier les paramètres du thème, le message d'erreur suivant s'affiche:
Forbidden
You don't have permission to access /wp-admin/themes.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8n DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at http://www.mydomain.com Port 80
J'ai essayé de désinstaller WP et d'effectuer une nouvelle installation, toujours le même problème avec une nouvelle installation.
Je suis donc retourné en arrière et j'ai vérifié les six autres blogs que j'avais configurés au cours de la dernière semaine. Ils me donnent également des erreurs 403 ou 404 lorsque j'essaie de modifier les paramètres du thème. Chaque fois, il y a une erreur qui pointe vers l'un ou l'autre des thèmes. php ou functions.php
À ce stade, je suis à bout de forces pour essayer de comprendre le problème. Le support technique de Hostgator l'a examiné et a pensé qu'il s'agissait peut-être d'un problème d'autorisations, mais il les a réinitialisées et le problème persiste.
Au début, je pensais que le problème était peut-être lié à un plugin que j'avais récemment installé sur les six blogs précédents ce matin-là (correctif de ByREV Fix Missed Shedule Plugin) pour traiter un bogue de calendrier manqué avec WP 2.92, et que bousillé les choses. Mais ensuite, j’ai vérifié un blog que j’avais construit il y a des mois, utilisant également le même thème et les mêmes plugins, et maintenant, il rencontre également le même problème.
Des idées? J'ai essayé de supprimer mon htaccess, d'en télécharger un vierge et d'en télécharger un avec cet extrait que j'ai trouvé sur le forum de hostgator:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Rien n'a fonctionné. Je reçois toujours des erreurs 403 ou 404 à chaque fois. Tout fonctionnait parfaitement hier alors je sais que cette configuration fonctionne, je viens de jeter quelque chose quelque part et je ne sais pas ce que c'est.
J'ai lu un fil de discussion ici et j'ai essayé de modifier le dossier wp-content en 0755 et le problème persiste.
Des pensées? Merci!
La première erreur que vous obtenez - les autorisations - est la plus indicative. Bump wp-content et wp-admin à 777 et essayez-le. Si cela fonctionne, modifiez-les tous les deux en 755 et voyez si cela fonctionne toujours. Qu'utilisez-vous pour modifier les autorisations de dossier? Un client FTP?
Quelques années de retard, mais j’ai une solution pour la version la plus récente de WordPress, qui présente le même problème (fichiers générés par WordPress .htaccess divisent des sites, réutilisés dans des messages d’erreur 403 Forbidden). Voici à quoi ça ressemble quand WordPress le crée:
# 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
Le problème est que le conditionnel ne fonctionne pas. Cela ne fonctionne pas parce que le module recherché n'est pas .c
, c'est .so
. Je pense qu'il s'agit d'un problème spécifique à la plate-forme ou à la configuration, dans lequel les installations Mac OS et Lunix Apache sont configurées pour les modules .so
AKA 'objets partagés'. Rechercher un module .c
ne devrait pas rompre le conditionnel, je pense que c'est un bug, mais c'est le problème.
Changez simplement le mod_rewrite.c
en mod_rewrite.so
et le tour est joué!
# BEGIN WordPress
<IfModule mod_rewrite.so>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Nous avons trouvé l’assistance de chez techieshelp ... c’est le htaccess qui pose problème ...
Juste pour faire suite, le problème est résolu! J'ai mentionné les paramètres mod_sec de mon serveur comme étant le coupable possible, comme ils l'ont suggéré, et ils ont pu résoudre ce problème. Voici ce que l'agent technique a dit de leur dire lorsque vous irez à l'assistance:
Dites-leur simplement que vous avez besoin de la règle 340163 liste blanche pour domain.com en tant que sa frappe une règle mod_sec.
Apparemment, vous devrez le faire pour chaque domaine présentant le problème, mais cela fonctionne. Merci à tous pour les suggestions tout le monde!
Tu as de la chance mon pote ... J'avais le même problème, mais j'avais plus de connaissances techniques en la matière et j'ai pu déterminer qu'il s'agissait d'un problème mod_sec que l'hôte doit réparer/ajouter à la liste blanche. Vous ne pouvez pas le faire vous-même. Il suffit de demander au technicien hôte de vérifier les paramètres de mod_sec sur votre serveur.
Profitez de votre problème résolu; D
J'ai eu le même problème, mais rien ne fonctionnait plus haut ... essayez une solution très simple ...
Sauvegardez votre fichier .htaccess. Supprimez-le de votre répertoire racine. Ensuite, essayez d'accéder à ces répertoires. Il est probable que les conditions de réécriture de votre fichier ont été à l'origine de ces problèmes d'accès. La page d'index doit être sélectionnée automatiquement sur la plupart des hôtes. : P
Espérons que les gens trouveront cette réponse car il existe de très nombreux articles à ce sujet sur le Web. Beaucoup de gens ont suggéré que c'était un problème de .htaccess, et pour moi c'était. Cependant, je cherchais dans le fichier .htaccess à la racine et non pas dans le dossier .htaccess du dossier wp-admin . Normalement, je travaille sur ce site, en particulier via des services de terminal. ne me reconnectez pas, j’essayais d’y accéder depuis mon ordinateur personnel (et c’est IP).
Silly me a oublié la restriction IP que j'avais placée dans le fichier .htaccess de wp-admin.
AuthName "Protected"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 11.11.11.11
</Limit>
Si vous avez quelque chose comme ceci dans vos fichiers .htaccess wp-admin, cela expliquerait facilement pourquoi tous les sites sur lesquels vous travaillez ont cessé de fonctionner en même temps. Les fournisseurs d’accès Internet changent parfois d’adresse IP de sorte que personne n’exécute un serveur à domicile sans avoir à payer pour cela.
As-tu essayé:
<Directory /path/to/your/wp-admin>
Order allow,deny
Allow from all
</Directory>