2010-11-18 3 views
1

Aus irgendeinem Grund versuche ich auf jede Datei in meiner WordPress-Installation innerhalb des wp-content/plugins/-Verzeichnisses zuzugreifen und darunter ein WordPress zurückzugeben basierter 404 Fehler. Die Dateien werden in Verzeichnislisten ...Dateien, die auf .php im Verzeichnis wp-content/plugins/enden, werden als Not Found behandelt.

wie folgt aus: http://technologysolved.ca/wp-content/plugins/store-locator/js/

, wenn andere Dateitypen (js und .html) geklickt sie korrekt funktionieren. Aber wenn eine Datei wie: the store-locator-js.php geklickt wird, gibt WordPress einen 404-Fehler zurück.

Das passiert mit allen .php-Dateien im Verzeichnis plugins und darunter.

Ich glaube, dass dies eine Art von .htaccess mehr mod_rewrite Fehler sein kann, aber ich bin mir nicht sicher.

Meine .htaccess-Datei ist die folgende ...

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] 

Jede Hilfe würde geschätzt. Vielen Dank!

+0

Sind Sie es als eine Art und Weise unter Verwendung von PHP-Dateien zum Download zu vertreiben? – MikeSchinkel

Antwort

2

Zunächst einmal sollten Sie nie PHP-Dateien in einem Plug-in-Verzeichnis zugreifen werden direkt im Browser. Die Tatsache, dass Sie sogar eine Verzeichnisansicht im Browser sehen können, ist ein Sicherheitsproblem Ihrer Website!

Aber sagen wir, um der Argumentation zu folgen, dass die Dinge gut funktionieren und Sie immer noch direkten Browserzugriff auf diese Datei benötigen. Selbst dann, Zugriff auf eine PHP-Datei direkt wie diese würde nicht starten WordPress, was bedeutet, Sie haben keine Zugriff auf Ihren Blog, Ihr Thema, Ihre Beiträge oder die WordPress-API.

Denken Sie daran, PHP soll auf dem Server ausgeführt werden - ist es Server-Code. JS und HTML werden als Textdokumente betrachtet, bis sie vom Browser interpretiert werden. Sie sind clientseitige Codes. Sie sollten nicht in der Lage sein, den Inhalt einer PHP-Datei anzuzeigen, indem Sie auf den Namen in einer Verzeichnisansicht klicken. Dies wird versuchen, den in der Datei auf dem Server enthaltenen Code auszuführen. In Ihrem Fall verweist die Plug-in-Datei auch auf WordPress (wahrscheinlich lädt sie eine Bootstrap-Datei) und wirft einen Fehler auf.

Also nein, das ist kein Fehler in .htaccess oder mod_rewrite.

+0

Danke für die Kommentare. Ich verstehe Directory Browsing auf nicht empfohlen, aber ich versuchte zu veranschaulichen, dass für die JS-Dateien in diesem Verzeichnis "run" korrekt und gefunden werden, aber beim Klicken auf eine Datei mit einer .php-Erweiterung WordPress auf dem Weg der Verarbeitung von Pausen und WordPress (Ich nehme an) wirft einen Fehler, der wie ein 404 behandelt wird. Ich weiß nicht, ob es .htaccess oder WordPress ist, aber es ist seltsam, dass dieses Problem nur unter wp-contents/plugins auftritt / – mstearne