.htaccess

Mithilfe der .htaccess-Datei lassen sich diverse Funktionen eines Apache-Webservers benutzen. Unter anderem lassen sich dadurch Weiterleitungen einrichten, oder der Zugriff auf Verzeichnisse und/oder Dateien wird kontrolliert.

Eine falsch konfigurierte .htaccess-Datei kann dazu führen, dass die Webseite nicht mehr erreichbar ist. Ob dies der Fall ist, kann meistens getestet werden, indem die Datei in old.htaccess umbenannt wird.

Generelles

  • Bei der .htaccess-Datei handelt es sich um eine Textdatei, die Anweisungen für einen Server enthält.
  • Mithilfe der .htaccess-Datei können diverse Funktionen eines Apache-Webservers benutzt werden.
  • Sie wird meist dafür gebraucht, um Weiterleitungen einzurichten und ist somit auch relevant für die Suchmaschinenoptimierung.
  • Sie kann auch genutzt werden, um den Zugriff von bestimmten IP-Adressen zu sperren oder einzuschränken.
  • Es gibt etliche weitere Anwendungsfälle.

Wo ist die Datei gespeichert?

Die Datei existiert nicht von Anfang an. Oftmals wird die Datei durch ein CMS automatisch erstellt. Falls vorhanden, findet man die Datei normalerweise im Stammverzeichnis einer Webseite.

Technisches

Hier führen wir ein paar Beispielcodes vor. Generell bietet der Apache Webserver noch viel mehr Möglichkeiten, auf die wir hier allerdings nicht eingehen werden, da dies zu komplex und anspruchsvoll wäre und auch schon zur Genüge anderswo dokumentiert ist. Wer komplexere Codes benötigt, weiß in der Regel schon genug über .htaccess Bescheid, dass er diesen Beitrag hier gar nicht braucht.

Minimalkonfiguration mit einer Umleitung

RewriteEngine On
RewriteBase /
RewriteRule meineseite.html deineseite.html [R=301]

RewriteEngine On aktiviert das mod_rewrite Modul von Apache und erlaubt letztendlich das Umschreiben von URLs.

RewriteBase definiert das Basisverzeichnis, auf welches sich das Umschreiben/Umleiten bezieht.

RewriteRule ist die Einleitung einer Umleitungsregel. Als Erstes kommt der Ursprung und darauf folgt die Angabe, wohin weitergeleitet werden soll. Der Teil in den eckigen Klammern beschreibt den HTTP-Code, der in der Antwort des Servers mitgeliefert wird. 301 steht für eine permanente Umleitung, alternativ gibt es den Code 302, welcher für eine temporäre Umleitung steht. Diese Codes helfen z.B. Suchmaschinen ihre Ergebnisse zu optimieren.

Beispiel einer Regel zur Umleitung (redirect)

Redirect 301 /alte-seite.html https://www.domain.de/verzeichnis/neue-seite.html

Wichtig ist hier der Unterschied zwischen RewriteRule und Redirect.

RewriteRule lässt sich nicht nur für einzelne Umleitungen nutzen, sondern mittels sogenannter Regulärer Ausdrücke (Regex) auch, um einen ganzen Bereich abzudecken.

Hier ein Beispiel:

RewriteRule (.*) /somewhere/ [R=301]

Reguläre Ausdrücke sind sehr mächtig und sollten nur genutzt werden, wenn du weißt, was du damit tust.

Mit Redirect lässt sich eine konkrete URL auf eine andere umleiten. Im zweiten Parameter können sowohl Pfade als auch ganze URLs angegeben werden, um z.B. auf eine externe Seite umzuleiten.

Beispiel einer Regel zum Blockieren einer IP-Adresse

order allow,deny
deny from 192.168.2.17
deny from 10.10.20.63
allow from all

Diese Regel muss vor dem Befehl „RewriteEngine On” angegeben werden. Ersetze hier einfach die IP mit der von dir gewünschten IP-Adresse.

WordPress

Für alle, die WordPress nutzen, haben wir hier noch ein Beispiel für die grundlegende (Standard) .htaccess-Datei für WordPress.

Standardcode für eine WordPress-Seite

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Zuletzt aktualisiert am 21. Februar 2023

War dieser Artikel hilfreich?

Ähnliche Themen

Benötigst du Support?
Deine Lösung steht noch nicht in den FAQ? Keine Sorge, wir sind für dich da.
Kontaktiere uns!