Verweigern WordPress und plugins aktualisiert .htaccess-Datei
Ich habe einige Probleme mit WordPress oder einige plugins gelegentlich aktualisieren/überschreiben meine .htaccess-Datei, die Rückkehr 404 Fehler-Seiten beim Besuch Beiträge. Um dies zu beheben muss ich sparen permalinks wieder.
Habe ich entfernt, die url slug "Kategorien" auf meiner Website, so sieht es wie folgt aus:
Original
www.mysite.com/category/post-title
Aktualisiert mit hack
www.mysite.com/post-title
Habe ich +20 plugins installiert und ich bin nicht sicher, was dieses problem verursacht.
Ist es möglich zu leugnen, WordPress und plugins schreiben .htaccess-Datei?
Dies ist mein hack zu deaktivieren Sie die Kategorie aus der URL-slug in functions.php
/* Kill category base */
function kill_category_base ($string) {
$string = str_replace('category/', '', $string);
return $string;
}
add_filter('category_link', 'kill_category_base');
- Und dies ist meine .htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
# redirect everything else to wordpress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
# END WordPress
- Ist wordpress löschen alles in Ihrem htaccess-Datei?
- Sie konnte nur ändern Sie die Datei-Berechtigungen auf .htaccess zu 0444. Aber Sie wirklich brauchen, zu beschneiden, Ihre plugins. Sie sollten nie ändern .htaccess ohne einen außergewöhnlich guten Grund, und wenn Sie sich nicht sicher sind, welche man verantwortlich ist, dann ich glaube nicht, dass alle von Ihnen haben einen guten Grund dafür.
- Auch, was die Regeln in Ihrem htaccess werden gelöscht, die Sie wollen nicht gelöscht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ssh-Zugriff auf Ihren server haben, können Sie den folgenden Befehl ein, um zu beschränken schreib-Zugriff auf die Datei, so dass niemand, außer dem root-user die Datei Bearbeiten können, einschließlich WordPress:
Müssen Sie entweder führen Sie diesen Befehl als root-Benutzer oder als aktuelle besitzende Benutzer der Datei.
Wenn Sie nicht über ssh Zugriff auf Ihren server haben, dann haben Sie wenig Möglichkeit hier. Wenn das der Fall ist, werden Sie brauchen, um Jagd durch den code der all deine plugins und herauszufinden, welche es ist, schreibt in diese Datei. Dann deaktivieren Sie entweder das plugin, oder ändern Sie den code so, dass er nicht schreiben, dass die Datei nicht mehr.
UPDATE
Bemerkte ich, dass einige Leute, dass meine Antwort ein bisschen guff hier. Ich lese Sie alle, und immer wieder die Frage, nur um sicher zu sein. Wie es sich herausstellt, muss ich mir das falsch verstanden, die Frage zu beginnen.
Meine ursprüngliche Antwort war basiert auf die Sicherheit stand Punkt. Ich dachte, die Frage war zu Fragen, wie man zu verhindern, dass die Datei überschrieben wird, aus Sicht der Sicherheit, als vielleicht in Ihre Website wurde gehackt oder so etwas. Wenn das der Fall ist, die Einstellung der Berechtigungen auf 444 funktioniert 100% der Zeit, aber Sie würde es tun müssen, um im Grunde alle Dateien, außer eine kleine Handvoll von Ihnen, und die uploads von dir. In der Tat, dies zu tun, zusammen mit dem halten alle meine plugins aktuell sind, hat verhindert, dass die Seiten meiner Firma persönlich hosts gehackt, immer, und wir hosten fast 300, mit Verkehr angefangen von 1000/Monat bis zu 0,5 Milliarden Euro/Monat. Der deployment-Prozess ist ein wenig länger, aber die Vorteile Sicherheit wachsam streng Gewicht der Konsequenzen, die die zusätzliche Bereitstellung von Zeit.
ABER die Frage war nicht gefragt, also meine schlecht. In der Tat, nach einem Blick wieder, und tatsächlich das Verständnis der Frage dieser Zeit, @mr_mmmmore hat in der Nähe der richtigen Antwort. Sie brauchen einfach zu BEWEGEN IHRE ÄNDERUNGEN aus der Seite des
# BEGIN WordPress
und# END WordPress
, aber es ist ein wenig mehr, es ist jedoch.Wenn Sie wollen (die meisten) plugins auch nicht Ihre änderungen überschrieben werden (nicht nur core-WordPress), müssen Sie auch wrap Ihre code in ähnlichen Marker. Ansonsten, der code könnte noch entfernt werden, wenn die htaccess aktualisiert. Ihre Finale-Datei sollte wie folgt Aussehen:
In allgemein, WordPress selbst werden Ihre änderungen an der htaccess-Datei, ohne Sie zu ändern, auch wenn Sie nicht in Ihrem eigenen marker Gruppe; es gibt jedoch ein paar plugins gibt, die bastardize die core-WordPress-Funktionen zu verwalten, dass die htaccess-Datei, und Sie missbrauchen in einer Weise, dass Sie wind-up einfach entfernen Sie Ihre änderungen, denn es gibt Sie nicht in Ihren eigenen marker Gruppe. Um sicher zu sein, ist es am besten, Folgen Sie einfach dem WordPress-standard, und machen Sie Ihre eigenen marker Gruppe, und fügen Sie Ihren code in es.
Dank @mr_mmmmore, dass mir immer wieder die Frage hier, weil ich Total verpasst, der springende Punkt, das erste mal. Plus eins.
Leugnen Worpress aus schreiben .htaccess scheint overkill für das problem, das Sie stoßen. Plus einige plugins abhängig sein können, zu schreiben .htaccess, so würde ich nicht raten, zu tun, ohne die Untersuchung auf die möglichen Konsequenzen (zum Beispiel cache-plugins hinzufügen müssen rewrite-Regeln).
Und Sie nicht zu tun haben, also: der Grund, warum WP löscht Ihre eigenen änderungen ist, weil man Sie zwischen # BEGIN WordPress und # END WordPress-Kommentare. Sie haben keine Kontrolle darüber, was geht zwischen diesen: betrachten Sie es als einen reservierten Platz in der .htaccess-Datei in dem WP tut, was es muss. Alles nicht Hinzugefügt von WP hier werden irgendwann entfernt.
So alle Sie tun müssen ist, bewegen Sie Ihre änderungen außerhalb der BEGIN/END-WP Kommentare, wie so (Sie haben zu entscheiden, welche gehen muss vor und nach den WP-Regeln):
Definieren, was muss vor oder nach WP-Regeln hängt davon ab, was Sie wollen, sind zu tun. In der Regel halte ich WP-Regeln am Ende und legte mir bevor.
Habe ich über ein halbes Jahr lang mit diesen zu kämpfen
.htaccess reset
Problem auf verschiedenen Seiten, bis jetzt.Meine zeitliche Lösung war, um installieren Sie die neueste Datei-system-backup (.zip) und jedes mal, wenn dies geschah (was in einigen Fällen sogar vermieden die Website korrekt angezeigt zu werden oder zumindest auch die Anzeige, aber auf die meisten es vermieden admins eingeben, um das admin-panel).
Die wirkliche Lösung scheint wirklich einfach, funktioniert aber nur für den Fall, dass Ihre Website gehackt wurde (noch nicht in der Lage zu fangen, wie oder Wann genau sind die Seiten nicht gehackt). In diesen Fällen ist die
wp-includes/nav-menu.php
- Datei wird beschädigt, und die Kräfte der .htaccess auf auf Standardeinstellungen zurücksetzen und setzt die Berechtigungen auf 444.Also die Lösung ist das wiederherstellen der Datei mit der der richtige für deine WP-version.
Dennoch ist dies keine Lösung für die Frage der Sicherheit, die es ermöglichen, dieser hack geschehen, und ich vermute, dass viele verschiedene plugins können Sie das Leck oder backdoor für diese Art von hack. Also, was Sie tun könnten, um zu lösen die Frage der Sicherheit ist die Installation des
Sucuri Security - Auditing, Malware Scanner and Security Hardening
oderWordfence
plugins.Persönlich, Installation von plugins zu erweitern, die Sicherheit einer Website scheint zu sein, eine Analogie, um die Installation von antivirus-PC ist. Ich würde auch empfehlen, einige Umwelt-Ansätze wie Cloudflare.
CHMOD funktioniert nicht WordPress umschreiben
Egal, ob die Linien zwischen Begin und ND WordPress
Keine Plugins installiert und WORDPRESS umschreiben
keine der Antworten hier ist richtig