Illustration zum Thema WordPress htaccess: Dokument mit großem Zahnrad und zwei Kippschaltern

WordPress htaccess – Was bewirkt die htaccess-Datei

Die .htaccess-Datei ist eine Konfigurationsdatei des Apache-Webservers und eine der wichtigsten Dateien deiner WordPress-Installation. WordPress nutzt sie vor allem für Permalinks und Weiterleitungen. Darüber hinaus kannst du über die htaccess das Caching steuern und die Sicherheit deiner Website verbessern.

Was ist die WordPress htaccess?

Bei der WordPress htaccess handelt es sich um eine Konfigurationsdatei für den Apache Webserver (auch LiteSpeed Server unterstützen die Verwendung der htaccess Datei). WordPress verwendet diese Datei, um die Sicherheit und Leistung der Website zu verbessern. Sie ermöglicht es, verschiedene Aspekte der Website zu steuern, darunter Weiterleitungen, Permalinks, Passwortschutz und Caching.

Die Datei htaccess solltest du im Stammverzeichnis deiner WordPress Website vorfinden.

Eine der häufigsten Anwendungen für die htaccess-Datei ist die Umleitung von Besuchern von einer URL zu einer anderen. Wenn zum Beispiel vor kurzem der Domainname geändert wurde, kann die htaccess-Datei verwendet werden, um Besucher von der alten Domain zur neuen umzuleiten. Aber auch für die Weiterleitung von http auf https wird die WordPress htaccess verwendet. Legst du in den WordPress Einstellungen fest, dass deine Website nur über https aufgerufen werden kann, so wird hierfür ein Eintrag in der htaccess angelegt. (Das musst du nicht manuell machen, dieser Arbeitsschritt wird von Plugins wie beispielsweise Really Simple SSL erledigt.)

Auch interessant und passend zum Thema: WordPress von http auf https umstellen

Auch hinsichtlich Caching kann die htaccess-Datei verwendet werden. Das Caching hilft, die Ladezeit deiner Website zu verbessern, indem es beispielsweise bestimmte Informationen lokal im Webbrowser des Besuchers speichert. Wenn ein Besucher eine Seite aufruft, die zwischengespeichert wurde, wird die zwischengespeicherte Version geladen, anstatt alle Informationen erneut von deinem Webserver abzurufen.

.htaccess – Warum steht ein Punkt vor htaccess?

Der Punkt vor htaccess zeigt an, dass es sich um eine versteckte Datei handelt. Das bedeutet, dass sie in der Standardansicht des WordPress Dateimanagers nicht sichtbar ist. Wenn du die Datei sehen und bearbeiten möchtest, musst du das FTP-Programm oder den WordPress-Dateimanager so einstellen, dass versteckte Dateien angezeigt werden.


Wie kann man die .htaccess Datei bearbeiten?

Für die Bearbeitung der WordPress htaccess gibt es zwei bewährte Wege, die ich dir nachfolgend vorstelle.

WordPress htaccess bearbeiten mittels FTP-Zugang

Bei dieser Variante musst du dich per FTP mit deiner Website verbinden (zum Beispiel mit dem Programm / FTP-Client Filezilla). Sobald die Verbindung zum Server aufgebaut wurde, kannst du in das WordPress Stammverzeichnis navigieren. Hier sollte dir nun die Datei .htaccess angezeigt werden. Sollte dies nicht der Fall sein, so vergewissere dich, dass im FTP-Client die Option „Versteckte Dateien“ aktiviert ist. (Und bedenke: Wenn dein Hosting-Anbieter NGINX Server einsetzt, wird keine .htaccess verwendet.)

Sobald du die .htaccess-Datei gefunden hast, lade sie auf deinen Computer herunter. Bewahre diese Kopie als Sicherung auf, falls etwas schiefgeht. Noch besser: Lege vorher eine komplette Datensicherung deiner Website an.

Nun kannst du die Datei in deinem bevorzugten Editor öffnen und die gewünschten Änderungen vornehmen. Sobald du damit fertig bist, kannst du die aktualisierte .htaccess-Datei wieder auf den Server hochladen und somit die bestehende (alte) Datei überschreiben.

WordPress htaccess bearbeiten mittels Rank Math

Rank Math ist das von mir bevorzugte SEO Plugin für WordPress. Es bietet viele (kostenfreie) Funktionen hinsichtlich Suchmaschinenoptimierung, ist übersichtlich und wird schnell geladen. Aber Rank Math bietet auch die Möglichkeit, die WordPress htaccess direkt zu editieren.

Wenn du Rank Math installiert hast, dann navigiere im WordPress Dashboard zu Rank Math SEO, dort zu Allgemeine Einstellungen und anschließend zu .htaccess Datei bearbeiten.

Wichtig: Dieser Menüpunkt erscheint nur, wenn Rank Math im Advanced Mode läuft. Vor der Bearbeitung musst du zudem per Checkbox bestätigen, dass du dir der Risiken bewusst bist. Dafür legt Rank Math vor jeder Änderung automatisch eine Sicherungskopie der Datei an.

Hier kannst du nun die gewünschten Anpassungen direkt in die WordPress htaccess schreiben.

Rank Math - WordPress htaccess bearbeiten

WordPress htaccess nutzen

Wie schon erwähnt: Die WordPress htaccess Datei ist ein leistungsfähiges Werkzeug, das zur Verbesserung der Sicherheit und Leistung verwendet werden kann. Nachfolgend einige Beispiele, wie man (bei Bedarf) die Dateieinträge anpassen kann.

Website von http auf https umleiten

Damit eine Weiterleitung von http auf https, sowie eine Weiterleitung von nicht www. auf www. erfolgt, kannst du den folgenden Codeschnipsel in die .htaccess Datei deiner WordPress Website einfügen:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.domain.de$ [NC]
RewriteRule ^(.*)$ https://www.domain.de/$1 [L,R=301]

RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]

</IfModule>

Bitte ersetze den Platzhalter domain mit deinem Domainnamen.

Die Weiterleitungen funktionieren nun folgendermaßen:

http://www.domain.de wird auf https://www.domain.de weitergeleitet.
http://domain.de wird auf https://www.domain.de weitergeleitet.
https://domain.de wird auf https://www.domain.de weitergeleitet.

Solltest du die Schreibweise ohne www. bevorzugen, so kann das Weiterleitungsziel entsprechend angepasst werden. Hierfür musst du einfach die URL-Angabe bei „RewriteRule“ anpassen und auf die Version ohne www. verweisen.

Caching in der WordPress htaccess Datei festlegen und Ladezeit verbessern

Durch die Nutzung des Browser-Caching kann die Anzahl der HTTP-Anfragen, die der Server verarbeiten muss, reduziert werden. Hierdurch verbessern sich die Ladezeit und die Leistung der Website.

Öffne die .htaccess-Datei und füge die folgenden Zeilen ein:

<IfModule mod_expires.c>
    FileETag MTime Size
    ExpiresActive On
    ExpiresByType text/html "access 600 seconds"
    ExpiresByType application/xhtml+xml "access 600 seconds"
    ExpiresByType text/css "access 1 month"
    ExpiresByType text/javascript "access 1 month"
    ExpiresByType text/x-javascript "access 1 month"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType application/x-javascript "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/webp "access 1 year"
    ExpiresByType image/svg+xml "access 1 year"
    ExpiresDefault "access 1 month"
</IfModule>

Durch die Verwendung dieses Codes werden deine wichtigsten statischen Dateien (Bilder, CSS, PDFs, JS usw.) zwischengespeichert, um in Zukunft schnellere Ladezeiten für (wiederkehrende) Besucher zu erreichen.

Da beim Browser-Caching die Daten im Browser des Webbesuchers zwischengespeichert werden, zeigt sich die verbesserte Ladezeit erst beim zweiten Aufruf der Webseite. Schließlich müssen beim ersten Laden alle notwendigen Daten direkt vom Webserver bezogen werden.

Mit der WordPress htaccess Datei die Sicherheit der WordPress-Website verbessern

Hier gibt es mehrere sicherheitskritische Bereiche, die durch Anpassungen in der .htaccess verbessert werden können. Nachfolgend einige Beispiele.

Zugriffe auf XML-RPC abstellen

Die XML-RPC-Schnittstelle ist ein Remote-Procedure-Call-System. Das heißt, dass hiermit ein „Fernzugriff“ möglich ist. WordPress kann dieses System nutzen, um anderen Anwendungen (zum Beispiel einer App) die Interaktion mit dem WordPress-System zu ermöglichen.

Doch oftmals wird diese XML-RPC-Schnittstelle überhaupt nicht verwendet. (Es sei denn, man möchte von unterwegs per App mit WordPress arbeiten.) Da diese Schnittstelle jedoch häufiger Angriffspunkt für DDOS-Attacken ist, sollte man XML-RPC nach Möglichkeit deaktivieren.

Durch folgende Code-Zeilen in der WordPress htaccess kann die XML-RPC-Schnittstelle deaktiviert werden:

<Files xmlrpc.php>
Require all denied
</Files>

Blockieren von großen Attacken auf Upload-Ziele

Seit Ende 2019 konnten Sicherheitsexperten Massen-Angriffe auf Upload-Ziele feststellen. Bei dieser Art von Angriff werden typische Upload-Ziele in WP Seiten gescannt, in der Hoffnung offene Tore zu finden. Diese Attacken sind gefährlich und belasten zudem den Webserver.

Zum Glück kann diesen Angriffen mit Hilfe der htaccess ein Riegel vorgeschoben werden.

# 7G Addon: Stop Aggressive Scanning for Uploads-Related Targets
# https://perishablepress.com/stop-aggressive-scanning-uploads/


	# RewriteCond %{REQUEST_URI} /php(unit)?/ [NC,OR]
	# RewriteCond %{REQUEST_URI} \.(aspx?|env|git(ignore)?|phtml|rar|well-known) [NC,OR]
	# RewriteCond %{REQUEST_URI} /(cms|control_panel|dashboard|home_url=|lr-admin|manager|panel|staff|webadmin) [NC,OR]
	# RewriteCond %{REQUEST_URI} /(adm(in)?|blog|cache|checkout|controlpanel|ecommerce|export|magento(-1|web)?|market(place)?|mg|onli(n|k)e|orders?|shop|tmplconnector|uxm|web?store)/ [NC,OR]

	RewriteCond %{REQUEST_URI} (_timthumb_|timthumb.php) [NC,OR]
	RewriteCond %{REQUEST_URI} /(install|wp-config|xmlrpc)\.php [NC,OR]
	RewriteCond %{REQUEST_URI} /(upload|uploadify|uploadbg|up__uzegp)\.php [NC,OR]
	RewriteCond %{REQUEST_URI} /(clipboard\.min\.js|comm\.js|mysql-date-function|simplebootadmin|vuln\.htm|www\.root\.) [NC,OR]
	RewriteCond %{REQUEST_URI} /(admin-uploadify|fileupload|jquery-file-upload|upload_file|upload|uploadify|webforms)/ [NC,OR]
	RewriteCond %{REQUEST_URI} /(ajax_pluginconf|apikey|connector(.minimal)?|eval-stdin|f0x|login|router|setup-config|sssp|vuln|xattacker)\.php [NC]

	RewriteRule .* - [F,L]

Mehr Infos hierzu kannst du auf folgender Webseite finden:
https://perishablepress.com/stop-aggressive-scanning-uploads/

SQL Injections verhindern

Eine SQL-Injektion ist eine Technik, mit der eine Schwachstelle in der Software einer Website ausgenutzt wird, die es Angreifern ermöglicht, bösartigen SQL-Code in ein Eingabefeld (oftmals ungesicherte Formulare oder unsichere Plugins) auf der Website zu injizieren. Dieser Code kann vom Server der Website ausgeführt werden, was zum Diebstahl von Daten oder zur Ausführung von Befehlen auf der Website führt.

Der folgende .htaccess Block kann einige SQL Injections verhindern (kann unter Umständen aber auch zu Problemen bei normaler Funktionalität führen):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag\= [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|"|;|\?|\*|=$).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(&#x22;|&#x27;|&#x3C;|&#x3E;|&#x5C;|&#x7B;|&#x7C;).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^(.*)$ - [F,L]
</IfModule>

Fazit

Die htaccess-Datei von WordPress ist ein leistungsfähiges Werkzeug, mit dem du Sicherheit und Leistung deiner Website verbessern kannst. Wenn du mit dieser Datei nicht vertraut bist, sei bei Anpassungen sehr vorsichtig und lege stets eine Datensicherung an. Zwingend notwendig ist das manuelle Bearbeiten übrigens nicht, da Anpassungen an dieser Datei auch durch Plugins automatisch vorgenommen werden. Nichtsdestotrotz ist es gut, wenn man weiß, wofür diese Datei genutzt wird.

Und falls nach einer htaccess-Änderung doch einmal nichts mehr geht oder deine Website andere Probleme macht: Mit meiner WordPress Soforthilfe bekommst du schnelle und unkomplizierte Unterstützung.

Diese Beiträge könnten dich ebenfalls interessieren:


FAQ: Häufige Fragen zur WordPress htaccess

Der Punkt vor htaccess zeigt an, dass es sich um eine versteckte Datei handelt. Dies hat zur Folge, dass die Datei in der Standardansicht des Dateimanagers nicht sichtbar ist.

Nein. Die WordPress htaccess kann zwar manuell angepasst werden, aber wenn man sich hierbei nicht auskennt, kann man auch Fehler provozieren. Viele Plugins greifen automatisch in die htaccess-Datei ein und passen diese entsprechend den gewünschten Einstellungen an. Beispielsweise hinterlegen Caching-Plugins die zu nutzenden Anweisungen automatisch in der WordPress htaccess.

Die kurze Antwort lautet nein. NGINX verwendet seine eigenen Konfigurationsdateien anstelle von htaccess.

Ähnliche Beiträge