2010-11-18 6 views
1

Pour une raison étrange, chaque fichier que j'essaie d'accéder à mon installation WordPress dans le répertoire wp-content/plugins/et qui retourne un fichier WordPress erreur 404 basée. Les fichiers apparaissent dans les listes de répertoires ...Les fichiers se terminant par .php dans le répertoire wp-content/plugins/sont considérés comme introuvables

comme ceci: http://technologysolved.ca/wp-content/plugins/store-locator/js/

lorsque d'autres types de fichiers (.js et .html) sont cliqués qu'ils fonctionnent correctement. Mais quand un fichier comme: le store-locator-js.php est cliqué WordPress renvoie une erreur de style 404.

Cela se produit avec tous les fichiers .php dans le répertoire plugins et ci-dessous.

Je crois que cela peut être une sorte d'erreur .htaccess plus mod_rewrite mais je ne suis pas sûr.

Mon fichier .htaccess est le suivant ...

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.php$ - [L] 

RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule . index.php [L] 

Toute aide serait appréciée. Merci!

+0

Vous l'utilisez comme un moyen de distribuer des fichiers PHP pour le téléchargement? – MikeSchinkel

Répondre

2

Tout d'abord, vous devez jamais être accéder à des fichiers PHP dans un répertoire de plug-in directement dans le navigateur. Le fait même que vous pouvez même voir une vue de répertoire dans le navigateur est un problème de sécurité avec votre site! Mais pour les besoins de l'argument, disons que tout fonctionne correctement et que vous avez toujours besoin d'un accès direct au navigateur pour ce fichier. Même alors, l'accès à un fichier PHP directement comme ceci ne serait pas démarrer WordPress, ce qui signifie que vous aurez aucun accès à votre blog, votre thème, vos messages, ou l'API WordPress. Rappelez-vous, PHP est destiné à être exécuté sur le serveur - c'est le code côté serveur. JS et HTML sont considérés comme des documents texte jusqu'à ce qu'ils soient interprétés par le navigateur - ils sont le code côté client. Vous devriez pas être en mesure d'afficher le contenu d'un fichier PHP en cliquant sur son nom dans une vue de répertoire. Cela va tenter d'exécuter le code contenu dans le fichier sur le serveur. Dans votre cas, le fichier plug-in fait également référence à WordPress (probablement en chargeant un fichier bootstrap) et en lançant une erreur. Donc non, ce n'est pas une erreur dans .htaccess ou mod_rewrite

+0

Merci pour les commentaires. Je comprends la navigation dans le répertoire n'est pas recommandé mais j'essayais d'illustrer cela pour les fichiers JS dans ce répertoire "exécuter" correctement et sont trouvés mais en cliquant sur un fichier avec une extension .php WordPress le long du traitement des pauses et WordPress (Je suppose) jette une erreur qui est traitée comme un 404. Je ne sais pas si c'est. Htaccess ou WordPress mais il est étrange que ce problème se passe uniquement sous wp-contents/plugins / – mstearne

Questions connexes