Anfängerleitfaden zur WordPress .htaccess-Datei

by Jason Cosper
Anfängerleitfaden zur WordPress .htaccess-Datei thumbnail

Die Sicherheit Ihrer Website sollte für jeden Administrator oberste Priorität haben. WordPress ist eine sichere Plattform direkt nach der Installation, aber das bedeutet nicht, dass sie unangreifbar ist. Glücklicherweise können Sie auch ohne Sicherheitsexperte zu sein, eine Datei namens .htaccess verwenden, um die Sicherheitsrichtlinien Ihrer Website zu verstärken.

.htaccess ist eine Konfigurationsdatei für den Apache-Webserver, der viele WordPress-Seiten bedient. Es ist ein leistungsfähiges Werkzeug, das Ihren Webauftritt schützt und durch einige kleine Änderungen am Code die Leistung steigert. Durch das Bearbeiten dieser Datei können Sie Benutzer sperren, Weiterleitungen erstellen, Angriffe verhindern und sogar den Zugang zu bestimmten Teilen Ihrer Website verweigern.

Eine Einführung in die .htaccess-Datei

.htaccess steht kurz für „HyperText Access“. Es handelt sich um eine Konfigurationsdatei, die bestimmt, wie Apache-basierte Server mit Ihrer Website interagieren. Einfach ausgedrückt kontrolliert .htaccess, wie auf Dateien in einem Verzeichnis zugegriffen werden kann. Sie können es als Wächter Ihrer Website betrachten, da es entscheidet, wen es hereinlässt und was diese Person tun darf.

Standardmäßig ist eine .htaccess-Datei normalerweise in Ihrer WordPress-Installation enthalten. Der Hauptzweck dieser Datei ist die Verbesserung der Sicherheit und der Leistung. Zudem ermöglicht sie Ihnen, die Einstellungen Ihres Webservers zu überschreiben.

Sie werden Ihre .htaccess Datei höchstwahrscheinlich im Stammverzeichnis Ihrer Website finden. Da .htaccess sowohl auf das eigene Verzeichnis als auch auf alle Unterverzeichnisse innerhalb dieses Hauptordners angewendet wird, hat es Auswirkungen auf Ihre gesamte WordPress-Website.

Es ist auch erwähnenswert, dass die .htaccess-Datei keine Dateierweiterung hat. Der Punkt am Anfang sorgt einfach dafür, dass die Datei verborgen bleibt.

Wie Sie Ihre WordPress .htaccess-Datei bearbeiten

Das Bearbeiten der .htaccess-Datei ist in der Praxis so einfach wie das Bearbeiten jeder anderen Textdatei. Da es sich jedoch um eine Kerndatei handelt, können Änderungen daran unbeabsichtigte Folgen haben.

Aus diesem Grund ist es äußerst wichtig, dass Sie Ihre Seite sichern, bevor Sie beginnen, unabhängig davon, ob Sie Anfänger oder ein erfahrener Entwickler sind.

Wenn Sie bereit sind, Ihre .htaccess-Datei zu bearbeiten, können Sie darauf über Secure File Transfer Protocol (SFTP) oder Secure Shell (SSH) zugreifen. Sie finden .htaccess im Root-Verzeichnis Ihrer Website:

WordPress .htaccess-Datei

Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor, wie zum Beispiel TextEdit oder Notepad. Wenn die Datei zuvor noch nicht bearbeitet wurde, sehen Sie die folgenden Standardinformationen:

WordPress .htaccess-Datei

Es ist wichtig, nichts zwischen den # BEGIN und # END Tags hinzuzufügen oder zu ändern. Stattdessen sollte aller neuer Code nach diesem Block hinzugefügt werden.

An diesem Punkt müssen Sie nur Ihren Code hinzufügen und die Datei speichern. Wenn Sie mehrere neue Funktionen einbinden, ist es am besten, jede einzeln zu speichern und zu testen. Wenn ein Fehler auftritt, wird es dadurch viel einfacher, zu ermitteln, welche Änderung das Problem verursacht hat.

Obwohl fast alle WordPress-Installationen bereits eine .htaccess-Datei enthalten, müssen Sie in einigen Fällen möglicherweise eine erstellen. Sie können dies mit einem Texteditor Ihrer Wahl tun, solange Sie es mit dem richtigen Dateinamen speichern: .htaccess ohne Erweiterung.

Es ist auch wichtig, die Dateiberechtigungseinstellungen korrekt zu konfigurieren. Sie können dann .htaccess in das Stammverzeichnis Ihrer Website hochladen.

9 Dinge, die Sie mit Ihrer WordPress .htaccess-Datei machen können

Jetzt, da Sie mit der .htaccess-Datei vertraut sind, ist es an der Zeit, sie näher kennenzulernen. Wir werden Ihnen eine Reihe von Möglichkeiten vorstellen, wie Sie durch Bearbeiten dieser Datei die Sicherheit und Leistung Ihrer Website einfach verbessern können.

Verwenden Sie einfach die unten bereitgestellten Code-Schnipsel und denken Sie daran, vor dem Start ein Backup zu erstellen!

1. Zugriff auf Teile Ihrer Website verweigern

Eine der nützlichsten Dinge, die Sie mit .htaccess machen können, ist den Zugang zu bestimmten Seiten und Dateien zu verweigern. Es gibt einige Dateien, die Sie aus Sicherheitsgründen auf diese Weise verstecken sollten, wie zum Beispiel Ihre wp-config.php Datei.

Sie können dies tun, indem Sie den folgenden Code hinzufügen, der einen 404-Fehler verursacht, wenn jemand versucht, die Datei anzusehen:

<Files ~ "/wp-config.php">
Order Allow,Deny
Deny from All
</Files>

In Fällen, in denen sensible Daten versteckt werden sollten, kann es nützlich sein, den Zugriff auf das entsprechende Verzeichnis zu beschränken. Da viele WordPress-Sites dieselbe Ordnerstruktur verwenden, kann diese Einrichtung Ihre Website anfällig machen. Wenn Sie die folgende Zeile hinzufügen, wird die Standardverzeichnislistungsfunktionalität deaktiviert:

Options -Indexes

Dies wird Benutzern und Robotern den Zugriff auf Ihre Ordnerstruktur verhindern. Wenn jemand versucht darauf zuzugreifen, wird stattdessen eine 403-Fehler-Seite angezeigt.

2. Umleiten und URLs umschreiben

Weiterleitungen erstellen ermöglicht es Ihnen, Benutzer automatisch auf eine bestimmte Seite zu senden. Weiterleitungen können besonders nützlich sein, wenn eine Seite verschoben oder gelöscht wurde und Sie möchten, dass Benutzer, die versuchen, auf diese Seite zuzugreifen, woanders hingeleitet werden.

Sie können dies mit einem Plugin wie Redirection erreichen, aber es ist auch möglich, dies durch Bearbeiten der .htaccess Datei zu tun. Um eine Weiterleitung zu erstellen, verwenden Sie den folgenden Code:

Redirect /oldfile.html http://www.example.com/newfile.html

Sie können wahrscheinlich sehen, was hier vor sich geht. Der erste Teil ist der Pfad zur alten Datei, während der zweite Teil die URL ist, zu der Besucher umgeleitet werden sollen.

Erhalten Sie Inhalte direkt in Ihren Posteingang

Abonnieren Sie jetzt, um alle neuesten Updates direkt in Ihren Posteingang zu erhalten.

3. Erzwingen Sie das sichere Laden Ihrer Website mit HTTPS

<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>

Wenn Sie Ihrem Domain ein SSL-Zertifikat hinzugefügt haben, wie zum Beispiel das kostenlose Let’s Encrypt Zertifikat von DreamHost, ist es eine gute Idee, Ihre Seite dazu zu bringen, über HTTPS zu laden. Dies stellt sicher, dass Ihre Seite sowohl für Sie als auch für Ihre Besucher sicherer ist.

Sie können es ermöglichen, indem Sie den folgenden Code hinzufügen:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ihre Website wird nun automatisch alle HTTP-Anfragen umleiten und sie dazu bringen, stattdessen HTTPS zu verwenden. Wenn beispielsweise ein Benutzer versucht, auf http://www.example.com zuzugreifen, wird er automatisch auf https://www.example.com umgeleitet.

4. Cache-Einstellungen ändern

Browser-Cache ist ein Prozess, bei dem bestimmte Website-Dateien vorübergehend auf dem lokalen Gerät eines Besuchers gespeichert werden, um das Laden der Seiten zu beschleunigen. Mit .htaccess können Sie die Zeit ändern, die Ihre Dateien im Browser-Cache gespeichert werden, bis sie mit neuen Versionen aktualisiert werden.

Es gibt einige unterschiedliche Wege, dies zu tun, aber für dieses Beispiel verwenden wir eine Funktion namens mod_headers. Der folgende Code wird die maximale Cache-Zeit für alle jpg, jpeg, png und gif Dateien ändern:

<ifModule mod_headers.c>
<filesMatch ".(jpg|jpeg|png|gif)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>

Wir haben die maximale Zeit auf 2.592.000 Sekunden festgelegt, was 30 Tagen entspricht. Sie können diesen Betrag ändern, wenn Sie möchten, sowie die Dateierweiterungen, die betroffen sein werden. Wenn Sie unterschiedliche Einstellungen für verschiedene Erweiterungen hinzufügen möchten, fügen Sie einfach weitere mod_header-Funktionen hinzu.

5. Bestimmte Skriptinjektionsangriffe verhindern

Skriptinjektion (oder „Codeinjektion“) Angriffe versuchen, die Ausführung einer Website oder Anwendung zu verändern, indem sie ungültigen Code hinzufügen. Zum Beispiel könnte jemand ein Skript in ein Textfeld auf Ihrer Website einfügen und dann absenden, was dazu führen könnte, dass Ihre Website das Skript tatsächlich ausführt.

Sie können den folgenden Code hinzufügen, um sich gegen bestimmte Arten von Skriptinjektionen zu schützen:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Ihre Seite sollte jetzt in der Lage sein, Versuche der Skriptinjektion zu erkennen und zu stoppen und den Verursacher auf Ihre index.php Seite umzuleiten.

Es ist jedoch wichtig zu beachten, dass dieses Beispiel nicht vor allen Arten von Injection-Angriffen schützt. Obwohl dieser spezielle Code sicherlich nützlich sein kann, sollten Sie ihn nicht als Ihren einzigen Schutz gegen diesen Angriffstyp verwenden.

6. Stoppen Sie Benutzernamen-Ermittlungsangriffe

Die Benutzernamenermittlung ist ein Prozess, bei dem Benutzernamen von Ihrer Website gesammelt werden, indem jede Autorenseite eines Benutzers betrachtet wird. Dies ist besonders problematisch, wenn jemand Ihren Admin-Benutzernamen herausfindet, was es Bots viel einfacher macht, Zugang zu Ihrer Website zu erhalten.

Sie können die Benutzernamensaufzählung verhindern, indem Sie den folgenden Code hinzufügen:

RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=d
RewriteRule .* - [R=403,L]

Dies wird bestimmte Versuche zur Aufzählung von Benutzernamen stoppen und stattdessen eine 403-Fehlerseite anzeigen. Beachten Sie, dass dies nicht alle Aufzählungen verhindert und Sie Ihre Sicherheit gründlich testen sollten. Wir empfehlen außerdem, Ihre Anmeldeseite weiter zu stärken, indem Sie Multifaktor-Authentifizierung implementieren.

7. Verhindern des Hotlinking von Bildern

Bild-Hotlinking ist ein häufiges Problem, das auftritt, wenn Bilder auf Ihrem Server auf einer anderen Website angezeigt werden. Sie können dies stoppen, indem Sie den folgenden Code zu .htaccess hinzufügen:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC]
RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]

Ersetzen Sie example.com durch Ihre eigene Domain, und dieser Code wird verhindern, dass Bilder auf allen anderen Seiten geladen werden. Stattdessen wird das Bild, das Sie in der letzten Zeile angeben, geladen. Sie können dies verwenden, um eine alternative Abbildung an Seiten zu senden, die versuchen, Grafiken von Ihrem Server anzuzeigen.

Seien Sie sich bewusst, dass dies Probleme verursachen kann, wenn Sie möchten, dass Bilder extern erscheinen, wie zum Beispiel in Suchmaschinen. Sie könnten auch in Erwägung ziehen, auf ein Skript zu verlinken anstatt auf ein statisches Bild, und dann mit einem Bild mit Wasserzeichen oder einem Bild, das eine Anzeige enthält, zu antworten.

8. Kontrollieren Sie Ihre Dateierweiterungen

Mit .htaccess können Sie steuern, wie Dateien verschiedener Erweiterungen von Ihrer Website geladen werden. Es gibt viel, was Sie mit dieser Funktion tun können, wie zum Beispiel Dateien als PHP ausführen, aber wir werden uns vorerst ein einfaches Beispiel ansehen.

Der folgende Code wird die Dateierweiterung von PHP-Dateien entfernen, wenn sie geladen werden. Sie können dies mit jedem Dateityp verwenden, solange Sie alle Vorkommen von „php“ durch die gewünschte Erweiterung ersetzen:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/
RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/
RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]

Dies führt dazu, dass alle PHP-Dateien geladen werden, ohne dass ihre Erweiterung in der URL angezeigt wird. Zum Beispiel wird die Datei index.php nur als index erscheinen.

9. Dateien zum Download erzwingen

Schließlich wird eine Datei, die auf Ihrer Website angefordert wird, standardmäßig im Browser angezeigt. Wenn Sie beispielsweise eine Audiodatei hosten, beginnt diese im Browser zu spielen, anstatt auf dem Computer des Besuchers gespeichert zu werden.

Sie können dies ändern, indem Sie die Seite zwingen, die Datei herunterzuladen. Dies kann mit dem folgenden Code gemacht werden:

AddType application/octet-stream mp3

In diesem Beispiel haben wir mp3-Dateien verwendet, aber Sie können dieselbe Funktion für txt, mov oder jede andere relevante Erweiterung verwenden.

Verbessern Sie die Sicherheit und Leistung Ihrer Website

Die .htaccess Datei bietet Flexibilität bei der Steuerung des Verhaltens Ihres Webservers. Sie können sie auch verwenden, um die Leistung Ihrer Website zu steigern und mehr Kontrolle darüber zu erhalten, wer genau auf welche Informationen zugreifen kann.

Mit .htaccess können Sie den Zugang zu bestimmten Teilen Ihrer Website verweigern. Zusätzlich ermöglicht es Ihnen, URLs umzuleiten, Ihre Seite dazu zu zwingen, über HTTPS zu laden, und einige Skriptinjektionsangriffe zu verhindern.

Das Bearbeiten Ihrer .htaccess-Datei ist nur eine Möglichkeit, die Sicherheit Ihrer Website zu verbessern. Die Wahl eines sicheren WordPress-Hostinganbieters ist eine weitere. Schauen Sie sich unsere DreamPress verwalteten Hosting-Pläne an, um zu sehen, wie wir die Sicherheit und Leistung Ihrer Website verbessern können!

Hintergrundbild der Anzeige

Mehr machen mit DreamPress

DreamPress Plus und Pro-Benutzer erhalten Zugang zu Jetpack Professional (und über 200 Premium-Themen) ohne zusätzliche Kosten!

Tarife ansehen