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.
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]
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