Wordpress und die .htaccess sind ein Thema für sich. Wer die kleine Konfigurationsdatei clever optimiert und richtig einstellt, erreicht eine bessere Performance und mehr Leistung. Vieles lässt sich mit der .htaccess anstellen, doch vieles wird auch schnell zum Problem. Nämlich immer dann, wenn Wordpress selbst eingreift und meint die .htaccess eigenständig verändern oder modifizieren zu müssen.

Wordpress daran hindern die .htaccess zu bearbeiten

WordPress und die .htaccess

WordPress und die .htaccess sind ein Thema für sich. Wer die kleine Konfigurationsdatei clever optimiert und richtig einstellt, erreicht eine bessere Performance und mehr Leistung. Vieles lässt sich mit der .htaccess anstellen, doch vieles wird auch schnell zum Problem. Nämlich immer dann, wenn WordPress selbst eingreift und meint die .htaccess eigenständig verändern oder modifizieren zu müssen. Das passiert, je nach Einstellung, regelmäßig, vor allem aber wenn ihr im Zuge der Optimierung den entsprechenden Bereich, den WordPress selbst einfügt, verschieben oder anpassen müsst. Standardmäßig sieht der Eintrag, den WordPress für die Permalinks erzeugt, dann so aus.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Wo genau ist jetzt das Problem?

Die Probleme fangen nun schon damit an, dass ich die überflüssigen Markierungen nicht einfach entfernen kann. Okay, vielleicht bin ich kleinlich was Optimierungen betrifft, aber ich will keine einzige überflüssige Zeile, nicht einmal einen überflüssigen Buchstaben in meiner .htaccess stehen haben. Entferne ich nun also die Markierungen von WordPress, fügt WordPress sie sofort wieder neu ein. Die Markierungen sind die Kommentare am Anfang und Ende.

# BEGIN WordPress
# END WordPress

Mit den Markierungen weiß WordPress also, dass die hinterlegten Einträge vorhanden sind. Außerdem wird der Bereich dazwischen verändert wann immer es nötig ist, WordPress kann darauf also direkt zugreifen und die .htaccess entsprechend bearbeiten. Nichts was mir unbedingt gefällt, vor allem nicht wenn viel Mühe in Optimierung und Veränderung geflossen sind und eigene Permalink-Parameter eingefügt wurden, wie es bei Power-Nutzern häufig mal der Fall sein kann.

Das Problem ist also, dass ich den Block von WordPress weder verändern, noch erweitern, noch anpassen, noch mit anderen Befehlen und Einstellungen kombinieren kann. Genau das möchte ich aber und deshalb möchte ich auch, dass WordPress die .htaccess einfach komplett in Ruhe lässt. Ich selbst kümmere mich schon darum, ich selbst optimiere sie nach Belieben, WordPress soll keine Kontrolle darüber haben was ich für richtig halte und was ich wie und wo verändere.

.htaccess vor WordPress schützen

Wie also stoppe ich den Prozess von WordPress? Wie hindere ich WordPress daran, in die .htaccess-Datei einzugreifen und diese einfach wieder zu verändern, um die entsprechenden Regeln hinzuzufügen? Das geht auf ganz unterschiedliche Art und Weise und im Grunde bieten sich zwei Lösungen an, um die Bearbeitung der .htaccess durch WordPress zu verhindern.

Lösung 1: Zugriffsrechte komplett einschränken
Die erste Methode verhindert die Bearbeitung über die Zugriffsrechte. Geht via FTP auf euren Server und verhängt den Read-Only-Status, also 400. Alternativ funktionieren auch 440 und 444, aber laut allgemeinen Rückmeldungen sollte immer der niedrigste Status gewählt werden, wenn er auf eurem Server funktioniert und verfügbar ist. Geändert werden können diese Rechte in den meisten FTP-Programmen mit einem einfachen Rechtsklick auf die .htaccess, dann auf Dateiberechtigungen und dort dann die entsprechenden Einstellungen wählen. Ganz einfach und effektiv. Aber Achtung, denn so können auch Themes und Plugins nichts mehr innerhalb der .htaccess hinzufügen oder verändern, was bei einigen unter Umständen aber durchaus notwendig sein kann.

Lösung 2: Filter in die Functions.php einfügen
Eine Alternative zur direkten Regelung der Zugriffsrechte, kann eine kleine Funktion innerhalb von WordPress sein. Sie verhindert, das WordPress die .htaccess bzw. die dort enthaltenen Permalink-Regeln überschreibt oder ständig neu verändert. Kurz und knackig, für jeden schnell nutzbar.

add_filter('flush_rewrite_rules_hard','__return_false');

Mögliche Probleme der Methode

Wir können nun gemeinsam darüber streiten, ob die .htaccess wirklich vor fremden Zugriff abgeschottet werden sollte oder gar muss. Wobei WordPress jetzt nicht unbedingt fremd ist. Bei Plugins sieht das aber schon ganz anders aus. Mehrmals schon kam es vor, dass Erweiterungen für WordPress vollkommen frei ihre Einträge in der .htaccess vornahmen und das ist zum einen gefährlich (oder kann zumindest gefährlich sein), zum anderen stört mich so ein Vorgehen einfach. Nervig ist all das aber eben vor allem, wenn ihr eure eigenen Regeln eingefügt und die Standards modifiziert habt. Mit diesen beiden Möglichkeiten ist nun Schluss mit der automatischen Ausbesserung des CMS. Falls sich bei WordPress oder den Permalinks dann allerdings etwas ändert, dürft ihr natürlich nicht vergessen die .htaccess wieder von Hand anzupassen. Allerdings meldet sich WordPress dann auch mit einem entsprechenden Hinweis, dass ihr die .htaccess updaten sollt. Kein Grund zur Sorge also.

 

 

Weitere Empfehlungen:



1
Hinterlasse einen Kommentar

1 Kommentar Themen
0 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
1 Kommentatoren
  Abonnieren  
neueste älteste meiste Bewertungen
Benachrichtige mich bei
Franz Meyer

Danke für diesen tollen Tipp!