Kann nicht auf Nicht-WordPress-Unterverzeichnisse zugreifen, da WordPress sie mit einem 404-Fehler überschreibt

Ich beziehe mich auf diese Frage zuvor gestellt und nicht angemessen beantwortet: WordPress überschreiben tatsächlichen Unterverzeichnisse und auch Non “WordPress” Seiten / Code 404 Fehler bekommen

Ich habe das gleiche Problem und habe fast alles ausprobiert, was ich im Internet gefunden habe. Es hängt definitiv damit zusammen, dass in der WordPress Permalinks aktiviert sind. Ich habe jedoch eine neue .htaccess-Datei in das Unterverzeichnis geschrieben mit:

RewriteEngine aus

und das Problem besteht immer noch. Selbst wenn ich die WordPress .htaccess -Datei vollständig lösche, existiert das Problem immer noch.

Ich habe auch andere vorgeschlagene Lösungen wie ErrorDocument 401 “Unauthorized access” und ErrorDocument 404 “Unauthorized access” und Redirect 301 / mysubdirectory http://www.mydomain.com/mysubdirectory/index.html an verschiedenen Orten ausprobiert, alles ohne Erfolg .

Kann jemand bitte eine andere Lösung anbieten? Der einzige Weg, wie ich das beheben kann, besteht darin, Permalinks auszuschalten, aber wir brauchen sie.

Vielen Dank,

Nicole

Solutions Collecting From Web of "Kann nicht auf Nicht-WordPress-Unterverzeichnisse zugreifen, da WordPress sie mit einem 404-Fehler überschreibt"

Ich gehe davon aus, dass Sie WordPress in Ihren Site-Root einfügen und die externen Verzeichnisse sich ebenfalls in Ihrem Site-Root befinden. Der Grund dafür ist, dass .htaccess-Dateien einer Hierarchie folgen. Alle statementen, die in der .htaccess-Datei auf oberster Ebene enthalten sind, fließen abwärts und gelten für alle darunter liegenden Verzeichnisse.

Wenn dies der Fall ist, können Sie eines der folgenden Dinge tun:

  1. Verschiebe deine WordPress in ein eigenes Verzeichnis. Siehe: http://codex.wordpress.org/Moving_WordPress Wenn Sie WordPress in ein eigenes Verzeichnis verschieben, so dass es sich auf der gleichen Ebene in Ihrer Serververzeichnishierarchie befindet wie die anderen Verzeichnisse, können die WordPress-Umschreibungsregeln die anderen Verzeichnisse nicht beeinflussen.

  2. RewriteEngine Aus – das würde normalerweise funktionieren. Wenn es nicht funktioniert, überprüfen Sie, ob Sie eine Wildcard-DNS-Einstellung verwenden. Wenn Sie in Ihren DNS-Einstellungen einen Platzhalter * -Hostnamen-Eintrag haben, der auf Ihren Webserver verweist, kann dies zu Schäden an .htaccess und Subdomains führen.

  3. Fügen Sie in der .htaccess-Datei in Ihrem Site-Stamm die folgenden ÜBER die WordPress .htaccess-Direktiven hinzu:

     RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L]  

Einer davon sollte für Sie arbeiten.

Dies hat in der Vergangenheit für eine ähnliche Situation funktioniert:

Setzen Sie dies auf .htaccess

 ErrorDocument 401 default 

Wenn ich meine Dateien auf den gleichen Server, aber mit anderen Unterverzeichnis-Ordner kopieren, wenn ich versuchte, auf meine Seiten zuzugreifen, funktioniert index.php gut, aber die anderen Seiten nicht und geben mir einen 404-Fehler. Entschuldigung für mein schlechtes Englisch!!

Ich schaue einfach in mein Htaccess das Original:

 # BEGIN WordPress

 RewriteEngine Ein
 RewriteBase /
 RewriteCond% {REQUEST_FILENAME}! -f
 RewriteCond% {REQUEST_FILENAME}! -d
 RewriteRule.  /index.php [L]

 # ENDE WordPress 

und setze den Neuen mit ein

 # BEGIN WordPress

 RewriteEngine Ein
 RewriteBase / Unterverzeichnisfolder
 RewriteCond% {REQUEST_FILENAME}! -f
 RewriteCond% {REQUEST_FILENAME}! -d
 RewriteRule.  /subverzeichnisordner/index.php [L]

 # ENDE WordPress

Ich sehe diesen Thread ein paar Monate alt, aber nur für den Fall, dass du ihn nie zur Arbeit bekommen hast!

Ich hatte ein ähnliches Problem, aber mein Problem war, dass die WordPress-Installation im Unterverzeichnis lag, das den URL-Zugriff auf Ordner innerhalb des Stammverzeichnisses verhinderte (außerhalb des WP-Installationsverzeichnisses), aber nur wenn Permalinks aktiviert waren. Um das Problem zu lösen, kopiere ich sowohl index.php als auch .htaccess (copy not move) aus dem Unterverzeichnis, in dem sich die WP-Installation befindet und platziere sie im root public_html (oder in dem Unterverzeichnis, auf das du außerhalb der WP-Installation zugreifen willst) Verzeichnis). Die .htaccess-Datei hat die Umschreibbedingungen für Permalinks bereits:

 RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

Aktivieren Sie Permalinks für die Aktualisierung und es triggerse alle Probleme. Stellen Sie sicher, dass Ihre Berechtigungen für die Stammordner korrekt festgelegt sind, da dies in der Vergangenheit zu Problemen geführt hat.

Wenn du immer noch 404s mit deaktiviertem htaccess hast und du die Pfade verifiziert hast und du weißt, dass die Dateien da sind, dann bleiben dir nur noch diese drei Optionen übrig …

Optionen…

  1. Auf dem Server läuft möglicherweise ein Betriebssystem, bei dem die Groß- / Kleinschreibung beachtet wird. Das heißt, wenn Sie einen Pfad eingeben und nicht die genauen Zeichen und die Hülle verwenden, wird es einfach nicht funktionieren.
  2. Berechtigungen: Möglicherweise verfügen Sie über die falschen Berechtigungen für die Datei oder den Ordner oder einen übergeordneten Ordner. Versuchen Sie, die Berechtigungen in den Dateien, Ordnern und übergeordneten Ordnern auf 755 zu ändern. Wenn Sie ssh (Terminal) Zugriff darauf haben, dann gehen Sie zu Ihrem root und führen Sie diese “chmod -R 755 mydir” und das wird rekursiv die Berechtigungen für alle von ihnen setzen.
  3. Wenn Sie nach all dem immer noch ein Problem haben, dann haben Sie ein Problem mit der Serverkonfiguration (wahrscheinlich Apache). Sie müssen mit Ihrem Hosting-Anbieter darüber sprechen.

Wenn das alles nicht funktioniert, brauchen Sie einen neuen Host. Ich empfehle hostmonster.com für günstiges Hosting, das großartige Unterstützung bietet und SSH-Zugang bietet. Ich benutze sie, kostet ungefähr $ 5 pro Monat. Wenn Sie etwas benötigen, das robuster und skalierbarer ist, aber immer noch gute Preise hat, dann empfehle ich mediatemple.net. Sie bieten skalierbares Cloud-Hosting ab 20 US-Dollar pro Monat. Obwohl ich nur mit der zweiten Option gehen würde, wenn Sie dramatische Zunahmen im Verkehr erwarten, oder Sie bereits sehr hohen Verkehr haben (ich spreche 500-1.000 + pro Stunde).

Nachdem ich mir fast die Haare geschnitten habe, habe ich endlich eine Lösung gefunden, die für WordPress funktioniert.

Ich hatte dieses Problem, nachdem ich ein Codeeiginter-Skript im selben Stammverzeichnis installiert habe, in dem auch WordPress installiert ist.

Nachdem ich alle hier aufgeführten Tricks ausprobiert hatte, bekam ich immer noch 404 Fehler auf den Seiten, die dem neuen Skript zugeordnet waren.

Ich bemerkte, dass der WordPress htaccess den htaccess des Skripts außer Kraft setzte. Ich habe auch bemerkt, dass andere WordPress-Installationen in demselben Verzeichnis diesen 404-Fehler nicht hatten.

Ich habe einfach den htaccess aus der neuen WordPress-Installation im selben Server-Verzeichnis übernommen und ihn in den Ordner eingefügt, in dem sich mein Skript befindet. So sieht es aus:

  RewriteEngine On RewriteBase /subdirectoryname/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /subdirectoryname/index.php [L]  

Ersetzen Sie den Unterverzeichnisnamen durch den Namen Ihres Verzeichnisses und platzieren Sie diese htaccess-Datei in dem Ordner, in dem sich das Skript befindet.

Beispiel: Wenn die Site hier installiert ist

public_html/

und der neue Ordner befindet sich

 `public_html/example` 

kopiere den obigen htaccess und speichere ihn im Ordner ‘example’ und das sollte funktionieren.

Sie sollten in der Lage sein, einfach eine RewriteCond Direktive hinzuzufügen, die sicherstellt, dass die WordPress-Regeln für Anfragen in Ihrem Unterordner ignoriert werden.

 RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules 

Sie sagen jedoch, dass Sie auch ohne WordPress .htaccess das Problem haben? Was ist der Inhalt Ihres Unterverzeichnisses .htaccess ?

Ich habe mir die Antworten hier einige Male angesehen, da ich auf ein ähnliches Problem gestoßen bin. Ich habe Dateien in einem Unterverzeichnis, das einen 404-Fehler auslösen würde, wenn ich versuchte, auf sie zuzugreifen. Alle .htaccess-Sachen konnten es nicht korrigieren, wie Kirsten Douglas sagt, WordPress macht den Job schon.

Meine Lösung

Ich habe diesen Artikel gefunden, nachdem ich das error_log auf dem Server überprüft habe. Ich habe eine Nachricht über falsche UID für Skripts erhalten. Ich bemerkte auch, dass der 404 wegen der Datei nicht ausgetriggers wurde, sondern weil der Server keine 500.html-Datei bereitstellen konnte, dh ich hatte einen Fehler von 500.

Es stellte sich heraus, dass ich Dateien als root erstellt hatte und den Besitzer des Webfiles ändern musste.

Ich hoffe, das hilft anderen, die das gleiche Problem hatten!