Ich beziehe mich auf diese Frage, die zuvor gestellt und nicht angemessen beantwortet wurde: Wordpress überschreibt die tatsächlichen Unterverzeichnisse und auch Nicht-Wordpress-Seiten / -Code, die den Fehler 404 erhalten
Ich habe das gleiche Problem und habe fast alles ausprobiert, was ich im Internet gefunden habe. Es hängt definitiv damit zusammen, dass Permalinks in WordPress aktiviert sind. Ich habe jedoch eine neue .htaccess-Datei im Unterverzeichnis abgelegt mit:
RewriteEngine aus
und das problem besteht immer noch. Auch wenn ich die .htaccess-Datei von WordPress vollständig lösche, besteht das Problem weiterhin.
Ich habe auch einige andere Lösungsvorschläge 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 , ohne Erfolg .
Kann jemand bitte eine andere Lösung anbieten? Ich kann das nur beheben, indem ich Permalinks deaktiviere, aber wir müssen sie aktivieren.
Vielen Dank,
Nicole
Antworten:
Ich gehe davon aus, dass Sie WordPress in Ihr Site-Stammverzeichnis einfügen und die externen Verzeichnisse sich ebenfalls in Ihrem Site-Stammverzeichnis befinden. Der Grund dafür ist, dass .htaccess-Dateien einer Hierarchie folgen. Welche Anweisungen auch immer in der .htaccess-Datei der obersten Ebene enthalten sind, sie fließen nach unten und gelten für alle darunter liegenden Verzeichnisse.
In diesem Fall können Sie eine der folgenden Aktionen ausführen:
Verschiebe dein WordPress in ein eigenes Verzeichnis. Siehe: http://codex.wordpress.org/Moving_WordPress Wenn Sie WordPress in ein eigenes Verzeichnis verschieben, sodass es sich in Ihrer Serververzeichnishierarchie auf derselben Ebene befindet wie die anderen Verzeichnisse, können die WordPress-Umschreiberegeln keine Auswirkungen auf die anderen Verzeichnisse haben.
RewriteEngine Off - das würde normalerweise funktionieren. Wenn dies nicht funktioniert, prüfen Sie, ob Sie keine Wildcard-DNS-Einstellung verwenden. Wenn Sie in Ihren DNS-Einstellungen einen Wildcard * -Hostnameneintrag haben, der auf Ihren Webserver verweist, kann dies zu Schäden mit .htaccess und Subdomains führen.
Fügen Sie in der .htaccess-Datei in Ihrem Site-Stammverzeichnis ÜBER den .htaccess-Anweisungen von WordPress Folgendes hinzu:
Eine davon sollte für Sie arbeiten.
quelle
Das hat bei mir in der Vergangenheit für eine ähnliche Situation funktioniert:
Legen Sie dies auf
.htaccess
quelle
Wenn ich meine Dateien auf den gleichen Server kopiere, aber mit einem anderen Unterverzeichnisordner. Wenn ich also versuchte, auf meine Seiten zuzugreifen, funktioniert index.php einwandfrei, aber die anderen Seiten funktionieren nicht und geben mir einen 404-Fehler. Entschuldigung für mein schlechtes Englisch!!
Ich schaue mir nur das Original an:
und lege die neue mit
quelle
Ich sehe, dass dieser Thread ein paar Monate alt ist, aber nur für den Fall, dass Sie ihn nie zum Laufen gebracht haben!
Ich hatte ein ähnliches Problem, aber mein Problem war, dass sich die WordPress-Installation im Unterverzeichnis befand, wodurch der URL-Zugriff auf Ordner im Stammverzeichnis (außerhalb des WP-Installationsverzeichnisses) verhindert wurde, jedoch nur, wenn Permalinks aktiviert waren. Um dies zu lösen, habe ich sowohl index.php als auch .htaccess (Kopieren ohne Verschieben) aus dem Unterverzeichnis kopiert, in dem sich die WP-Installation befindet, und sie beide im Stammverzeichnis public_html (oder in dem Unterverzeichnis, auf das Sie außerhalb der WP-Installation zugreifen möchten) abgelegt Verzeichnis). Die .htaccess-Datei enthält bereits die Umschreibebedingungen für Permalinks:
Aktivieren Sie Permalinks zum Aktualisieren und es wurden alle Probleme behoben. Stellen Sie sicher, dass Ihre Berechtigungen für die Stammordner ebenfalls korrekt festgelegt sind, da dies in der Vergangenheit zu Problemen geführt hat.
quelle
Wenn Sie immer noch 404 mit deaktiviertem htaccess erhalten und die Pfade überprüft haben und wissen, dass die Dateien dort sind, bleiben nur diese drei Optionen übrig ...
Optionen...
Wenn nichts davon funktioniert, brauchen Sie einen neuen Host.
quelle
Nachdem ich mich beinahe am Haar gerupft hatte, fand ich endlich eine Lösung, die für WordPress funktioniert.
Ich hatte dieses Problem nach der Installation eines Codeiginter-Skripts im selben Stammverzeichnis, in dem WordPress installiert ist.
Nachdem ich alle hier aufgeführten Tricks ausprobiert hatte, wurden auf den mit dem neuen Skript verknüpften Seiten immer noch 404-Fehler angezeigt.
Ich bemerkte, dass der WordPress-htaccess den htaccess des Skripts überschritt. Ich habe auch festgestellt, dass andere WordPress-Installationen im selben Verzeichnis diesen 404-Fehler nicht hatten.
Ich habe einfach den htaccess aus der neuen WordPress-Installation in dasselbe Serververzeichnis übernommen und in den Ordner eingefügt, in dem sich mein Skript befindet. So sieht es aus:
Ersetzen Sie den Namen des Unterverzeichnisses durch den Namen Ihres Verzeichnisses und platzieren Sie diese htaccess-Datei in dem Ordner, in dem sich Ihr Skript befindet.
Beispiel: Wenn die Site hier installiert ist
public_html/
und der neue Ordner befindet sich
Kopieren Sie den obigen htaccess und speichern Sie ihn im Ordner 'example'. Dies sollte funktionieren.
quelle
Ich habe mir die Antworten hier einige Male angesehen, da ich auf ein ähnliches Problem gestoßen bin. Ich habe Dateien in einem Unterverzeichnis, die einen 404-Fehler auslösen, wenn ich versuche, auf sie zuzugreifen. Das ganze .htaccess-Zeug konnte es nicht korrigieren, wie Kirsten Douglas sagt, Wordpress erledigt den Job bereits.
Meine Lösung
Ich habe diesen Artikel gefunden, nachdem ich das error_log auf dem Server überprüft habe. Ich habe eine Nachricht über eine falsche Benutzer-ID für Skripte erhalten. Ich bemerkte auch, dass der 404 nicht wegen der Datei geworfen wurde, sondern weil der Server eine 500.html-Datei nicht bedienen konnte, dh ich hatte einen 500-Fehler.
Es stellte sich heraus, dass ich Dateien als Root erstellt hatte und den Eigentümer in den Eigentümer der Webdateien ändern musste.
Ich hoffe, das hilft anderen, die das gleiche Problem hatten!
quelle
Sie sollten nur eine
RewriteCond
Direktive hinzufügen können , die sicherstellt, dass die WordPress-Regeln für Anforderungen in Ihrem Unterordner ignoriert werden.Sie sagen jedoch, dass Sie das Problem auch ohne WordPress
.htaccess
haben? Was ist der Inhalt Ihres Unterverzeichnisses.htaccess
?quelle