So verhindern Sie, dass WordPress die .htaccess-Datei überschreibt
Veröffentlicht: 2023-02-23Kürzlich fragte einer unserer Leser, ob es möglich sei, WordPress daran zu hindern, den benutzerdefinierten Code in deiner .htaccess-Datei zu überschreiben?
WordPress fügt zusammen mit mehreren Plugins benutzerdefinierte Einstellungen zur .htaccess-Konfigurationsdatei hinzu. Wenn Sie .htaccess Ihren eigenen benutzerdefinierten Code hinzugefügt haben, befürchten Sie möglicherweise, dass dieser überschrieben oder gelöscht wird.
In diesem Artikel zeigen wir Ihnen, wie Sie verhindern können, dass WordPress die .htaccess-Datei überschreibt.
Warum überschreibt WordPress die .htaccess-Datei?
Ihre .htaccess-Datei ist eine leistungsstarke Konfigurationsdatei, die wichtige Einstellungen Ihrer WordPress-Website speichert. Es enthält Regeln, die Ihrem Hosting-Server mitteilen, wie er mit Ihrer Website umgehen soll.
WordPress verwendet die .htaccess-Datei, um seine Permalink-Einstellungen zu speichern. Wann immer Sie Ihre Permalinks ändern oder neu generieren, überschreibt WordPress automatisch die alten Einstellungen in .htaccess mit den neuen Einstellungen.
Einige WordPress-Plugins speichern ihre Einstellungen auch in .htaccess. Beispielsweise ändert das W3 Total Cache-Plugin Ihre .htaccess-Datei, um die Caching- und Optimierungstools zu konfigurieren, die Teil des Plugins sind.
Schließlich können Sie Ihre eigenen benutzerdefinierten Änderungen an .htacess vornehmen, um zu steuern, wie Ihre Website funktioniert. Sie können der Datei beispielsweise benutzerdefinierte Regeln hinzufügen, die Ihren Admin-Bereich schützen, Ihre Website vor Hackern schützen, Weiterleitungen einrichten, verdächtige IP-Adressen sperren und vieles mehr.
Einige Benutzer sind besorgt, dass, wenn sie ihre eigenen benutzerdefinierten Regeln zu .htaccess hinzufügen, diese möglicherweise gelöscht werden, wenn WordPress die Datei mit neuen Einstellungen überschreibt. Andere Benutzer konfigurieren .htaccess lieber manuell und lassen WordPress überhaupt nicht darauf schreiben.
Lassen Sie uns einen Blick darauf werfen, wie Sie verhindern können, dass WordPress Ihre .htaccess-Datei überschreibt. Verwenden Sie einfach die Quicklinks unten, um zu dem Abschnitt zu springen, der Sie interessiert.
- So verhindern Sie, dass WordPress Ihre .htaccess-Regeln überschreibt
- So hindern Sie WordPress daran, .htaccess zu ändern
So verhindern Sie, dass WordPress Ihre .htaccess-Regeln überschreibt
Die gute Nachricht ist, dass Sie sicher sein können, dass Ihre benutzerdefinierten Regeln nicht überschrieben werden, wenn Sie verstehen, wie die .htaccess-Datei funktioniert.
Denn die Bereiche der Datei, die von WordPress oder Ihren Plugins verändert werden, sind deutlich gekennzeichnet. Stellen Sie einfach sicher, dass Sie diesen Bereichen keinen Code hinzufügen.
Ändern Sie keinen Code innerhalb der WordPress-Marker
Wie bereits erwähnt, verwendet WordPress .htaccess, um die Einstellungen für eine SEO-freundliche URL-Struktur zu speichern. Der in der Datei gespeicherte Code wird automatisch überschrieben und aktualisiert, wenn Sie Ihre Permalink-Einstellungen ändern.
Wie Sie im folgenden Screenshot sehen können, speichert WordPress diese Informationen zwischen zwei Markierungen, # BEGIN WordPress
und # END WordPress
.
Beachten Sie die Warnung in diesen Markierungen:
Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ werden dynamisch generiert und sollten nur über WordPress-Filter geändert werden. Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
Das bedeutet, dass WordPress keinen Code überschreibt oder ändert, den Sie außerhalb dieser Markierungen hinzufügen. Benutzer fügen ihren benutzerdefinierten Code normalerweise oben in der Datei über der # BEGIN WordPress
Markierung hinzu.
Tipp: .htaccess ist eine versteckte Datei, die sich im Stammordner Ihrer WordPress-Site befindet. Wenn Sie Schwierigkeiten haben, sie zu finden, dann werfen Sie einen Blick auf unseren Leitfaden, warum Sie die .htaccess-Datei auf Ihrer WordPress-Seite nicht finden können.
Ändern Sie keinen Code innerhalb der Markierungen Ihrer Plugins
Wenn ein Plugin seine Einstellungen in .htaccess speichert, platziert es es auch zwischen Markierungen, die wie # BEGIN Plugin
und # END Plugin
aussehen.
Wenn Sie beispielsweise das Plug-in W3 Total Cache installieren und einrichten, um die Geschwindigkeit und Leistung Ihrer Website zu verbessern, fügt es Regeln zu .htaccess zwischen den Markierungen # BEGIN W3TC Browser Cache
und # END W3TC Browser Cache
hinzu.
Diese Regeln werden jedes Mal überschrieben, wenn Sie die Einstellungen des Plugins ändern, also müssen Sie darauf achten, keine eigenen benutzerdefinierten .htaccess-Regeln zwischen diesen Markierungen hinzuzufügen.
Erstellen von Markierungen für Ihren benutzerdefinierten Code
In seltenen Fällen kann ein Plugin mit schlechtem Verhalten Code außerhalb seiner # BEGIN
und # END
Markierungen ändern. Es wird jedoch normalerweise keinen Code ändern, der zwischen den von WordPress oder anderen Plugins verwendeten Markierungen gefunden wird.
Wenn Sie befürchten, dass ein Plugin mit schlechtem Verhalten Ihren Code überschreibt, können Sie der .htaccess-Datei Ihre eigenen Markierungen hinzufügen.
Beispielsweise können Sie die Markierungen # BEGIN MyCustomCode
und # END MyCustomCode
oben in der .htaccess-Datei eingeben und dann Ihre eigenen benutzerdefinierten Regeln zwischen diesen Markierungen hinzufügen.
Wenn Sie auch Code am Ende von .htaccess hinzufügen müssen, können Sie dort einen anderen Satz von Markierungen hinzufügen. Achten Sie nur darauf, ihnen unterschiedliche Namen zu geben. Sie könnten beispielsweise „MyCustomCodeTop“ und „MyCustomCodeBottom“ verwenden.
So hindern Sie WordPress daran, .htaccess zu ändern
Jetzt, da Sie verstehen, wie .htaccess funktioniert, können Sie können sicher sein, dass Ihr benutzerdefinierter Code nicht von WordPress oder Ihren Plugins überschrieben wird.
Einige Entwickler und fortgeschrittene Benutzer möchten jedoch verhindern, dass WordPress Änderungen an .htaccess vornimmt.
Sie möchten beispielsweise Permalinks erstellen, indem sie die Einstellungen manuell in .htaccess eingeben. In diesem Fall möchten sie Konflikte vermeiden, indem sie verhindern, dass WordPress seine eigenen Permalink-Einstellungen in der Datei speichert.
Wir empfehlen dies nur, wenn Sie wissen, was Sie tun, da dies zu unerwarteten Folgen führen kann. Sie können jedoch die Berechtigungen der Datei ändern oder Code verwenden.
Verhindern, dass WordPress .htaccess mithilfe von Dateiberechtigungen ändert
Eine Möglichkeit, WordPress daran zu hindern, .htaccess zu ändern, besteht darin, die Datei schreibgeschützt zu machen. Dazu müssen Sie die Dateiberechtigungen mit einem FTP-Client oder dem von Ihrem WordPress-Hosting-Provider bereitgestellten Dateimanager ändern.
Sie finden die .htaccess-Datei im Stammverzeichnis Ihrer WordPress-Installation. Als nächstes sollten Sie mit der rechten Maustaste auf die Datei klicken und „Dateiberechtigungen“ auswählen.
Dadurch wird ein Popup-Fenster angezeigt, in dem Sie die Attribute der Datei ändern können.
Die Standardeinstellung ist 644, aber Sie können diese auf 444 ändern, indem Sie direkt in das Feld „Numerischer Wert“ eingeben oder sicherstellen, dass nur die Kästchen „Lesen“ aktiviert sind.
Sobald Sie auf die Schaltfläche „OK“ klicken, ist die Datei schreibgeschützt und kann nicht geändert werden.
Das bedeutet natürlich, dass Sie auch nicht in die Datei schreiben können. Wenn Sie Änderungen vornehmen möchten, müssen Sie die Dateiberechtigungen vorübergehend auf 644 zurücksetzen.
Verhindern, dass WordPress .htaccess mithilfe von Code ändert
Eine andere Lösung besteht darin, ein Code-Snippet zu verwenden, das WordPress mitteilt, dass es nicht in die .htaccess-Datei schreiben soll. Dies ist nützlich, wenn Sie verhindern möchten, dass WordPress .htaccess ändert, ohne Ihre Plugins zu blockieren.
Hinweis: Das Bearbeiten von WordPress-Kerndateien kann gefährlich sein. Selbst ein kleiner Fehler kann zu großen Fehlern auf Ihrer Website führen. Deshalb empfehlen wir diese Methode nur fortgeschrittenen Benutzern.
Fügen Sie einfach das folgende Code-Snippet am Ende Ihrer wp-config.php-Datei hinzu. Wenn Sie Hilfe benötigen, lesen Sie bitte unsere Anleitung zum Bearbeiten der Datei wp-config.php in WordPress.
add_filter('got_rewrite', '__return_false');
Sobald Sie das getan haben, schreibt WordPress nicht mehr in die .htaccess-Datei.
Fehlermeldung wird angezeigt, wenn WordPress .htaccess nicht ändern kann
Wenn Sie versuchen, Ihre Permalink-Einstellungen zu ändern, während .htaccess auf schreibgeschützt eingestellt ist, wird eine Fehlermeldung angezeigt.
Oben auf der Seite Einstellungen » Permalinks sehen Sie die Meldung „Sie sollten Ihre .htaccess-Datei jetzt aktualisieren.“
Dadurch wissen Sie, dass WordPress die .htaccess-Datei nicht ändern konnte.
Normalerweise ist dies das, was Sie beabsichtigt haben. Wenn Sie jedoch die WordPress-Permalink-Einstellungen zu .htaccess hinzufügen möchten, müssen Sie dies manuell tun.
Unten auf der Seite Einstellungen ≫ Permalinks sehen Sie eine weitere Fehlermeldung, die besagt, dass Ihre .htaccess-Datei nicht beschreibbar ist. Darunter sehen Sie die Regeln, die zu .htaccess hinzugefügt werden müssen.
Wenn Sie diese Einstellungen hinzufügen möchten, müssen Sie die Berechtigungen der .htaccess-Datei vorübergehend auf 644 zurücksetzen, damit sie bearbeitet werden kann. Danach sollten Sie die Regeln zwischen den WordPress BEGIN- und END-Markierungen der Datei einfügen und den bereits vorhandenen Code ersetzen.
Wenn Sie fertig sind, setzen Sie den Wert einfach auf 444 zurück und speichern Sie die Datei. Es wird wieder unbeschreibbar sein.
Wir hoffen, dass dieses Tutorial Ihnen geholfen hat, zu lernen, wie Sie verhindern können, dass WordPress die .htaccess-Datei überschreibt. Vielleicht möchtest du auch lernen, wie man Push-Benachrichtigungen in WordPress hinzufügt, und sieh dir unsere Expertenliste der besten WordPress-SEO-Plugins und -Tools an.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.