.htaccess

Aus Seobility Wiki
Wechseln zu: Navigation, Suche

Allgemeine Informationen

htaccess
Abbildung: .htaccess - Autor: Seobility - Lizenz: CC BY-SA 4.0

Bei einer .htaccess-Datei handelt es sich um eine Konfigurationsdatei des Apache-Webservers, mit der verzeichnisbezogene Regeln festgelegt werden können. Htaccess steht für hypertext access und stellt einen wichtigen Bestandteil der Konfiguration eines Webservers dar und wird verwendet, um beispielsweise bestimmten Nutzern Zugriff auf bestimmte Verzeichnisse und Daten auf einem Server zu erlauben.

Den .htaccess Dateien für einzelne Verzeichnisse übergeordnet sind die zentralen Konfigurationsdateien (httpd.conf), die die grundlegende Arbeitsweise eines Apache-Webservers regeln. Diese befinden sich jedoch innerhalb des Dateienverzeichnisses des Webservers, sodass sogar Nutzer, die ein Web-Projekt verwalten, keinen direkten Zugriff auf diese Konfigurationsdateien haben.

Wenn ein Benutzer die Berechtigung erhalten soll, die bestehenden Konfigurationen aus der zentralen Konfigurationsdatei für ein einzelnes Verzeichnis zu überschreiben und individuell neu einzustellen, wird ihm der Zugriff auf die .htaccess-Datei genehmigt. Der Benutzer hat dann die Möglichkeit .htaccess-Dateien in seinem eigenen Verzeichnis anzulegen und nach individuellen Anforderungen und Bedürfnissen zu konfigurieren. Alle Einstellungen, die in einer .htaccess-Datei vorgenommen werden, gelten für das jeweilige Verzeichnis inklusive aller Unterverzeichnisse, in dem die Datei abgelegt wurde. Alle neu konfigurierten Einstellungen treten sofort in Kraft, sodass ein Neustart des Webservers nicht nötig ist. Der Webserver Apache sucht bei jedem Aufruf einer Website automatisch nach der zuständigen .htaccess-Datei, um die dort festgelegte Konfiguration ergänzend zur httpd.conf anzuwenden.

Wie kann eine .htaccess Datei erstellt werden?

Bei .htaccess-Dateien handelt es sich um reine Textdateien, die sich mit einem einfachen Texteditor wie zum Beispiel Notepad++ relativ einfach bearbeiten lassen. Indem beim Speichern als Dateityp "Alle Dateien" ausgewählt wird, lässt sich die Datei als .htaccess speichern, ohne dass Windows ein ".txt" anhängt. Die meisten Server stellen ihren Nutzern Remote-Zugang zur Verfügung. Somit können .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden, indem der geeignete Texteditor aufgerufen wird.

Die Konfigurationsdateien gelten für das Verzeichnis, in dem sie abgelegt werden und alle dazugehörigen Unterverzeichnisse. Wenn in einem der Unterverzeichnisse eine zusätzliche Konfiguration gelten soll, muss dort wiederum eine eigene .htaccess-Datei erstellt und abgelegt werden. Die Einträge der jeweils geltenden Konfigurationsdatei ergänzen die Konfigurationseinträge aus den darüber liegenden Verzeichnissen.

Wofür wird die .htaccess Datei verwendet?

Die klassischen Einsatzbereiche der .htaccess-Datei sind die Zugriffssteuerung sowie das Umleiten und Umschreiben von URLs, also von statischen Adressen, die auf die Position einer Datei auf einem Webserver zeigen und diese aufrufen. Darüber hinaus werden die Konfigurationsdateien eingesetzt, um Fehlerdokumente zu verwalten und den Zugriff auf einzelne Ressourcen oder ganze Verzeichnisse zu regeln.

Umschreiben von dynamischen in statische URLs

Das Umschreiben von URLs funktioniert mit Hilfe des Apache-Moduls "mod_rewrite". Dieses Modul wird in erster Linie eingesetzt, um dynamische URLs umzuschreiben, sodass diese für Menschen und Suchmaschinen wie statische URLs aussehen und von Web-Crawlern auch so behandelt werden. Bei einer dynamischen URL handelt es sich um eine dynamische Website, die im Moment der Abfrage aus in einer Datenbank hinterlegten Daten und einer Anwendung erzeugt wird. Beispiel-Eintrag in die .htaccess-Datei, um dynamische URLs in statische zu konvertieren:

RewriteEngine On
RewriteRule (.*)_(.*).html$ /example.php?url_isbn=$1 [qsappend,L]

Im obigen Beispiel ist /example.php die dynamische URL, die in /example-1.html umgeschrieben werden soll, wobei 1 eine Backreference ist.

Erstellen von passwortgeschützten Bereichen

Wer keine komplizierten Login-Scripts einsetzen, dennoch aber auf passwortgeschützte Bereiche auf seinem Server nicht verzichten möchte, kann stattdessen auf Möglichkeiten der .htaccess-Datei zurückgreifen. Für diese Art der Authentifizierung muss zunächst eine Datei erstellt werden, in der die User mit den dazugehörigen Passwörtern gespeichert werden. Diese können theoretisch unverschlüsselt eingetragen werden, praktisch macht eine Verschlüsselung aus Sicherheitsgründen aber Sinn. Passwortgeschützte Bereiche können auf folgende Weise erstellt werden:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile //.htpasswd
AuthPGAuthoritative Off
require user User1 User2 User3 User4

Die .htpasswd-Datei mit den Usern und den zugehörigen verschlüsselten Passwörtern wird separat erstellt:

User1:dsdR4578
User2:tTr84546
User3:dFd87f4d
User4:qOkp8745

Weiterleitungen

Einer der wichtigsten Einsatzbereiche von .htaccess sind Weiterleitungen (Redirects). Mit dieser Technik lassen sich sowohl einzelne Dateien innerhalb einer Domain als auch Anfragen auf eine externe Domain weiterleiten. Dies ist besonders dann nützlich, wenn die Website auf eine neue Domain umzieht. Wenn der folgende Code im Root-Verzeichnis gespeichert wird, sorgt er dafür, dass alle Anfragen an die ursprüngliche Domain vom Apache-Webserver zu der neuen Domain weitergeleitet werden:

RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://new-domain.tld/$1 [L,R=301]

Wie in dem Codebeispiel zu sehen ist, kommt hier ebenfalls das Modul mod_rewrite zum Einsatz.

Mit derselben Vorgehensweise lassen sich einzelne Dateien innerhalb einer Website weiterleiten:

Redirect 301 /old-path/file.html http://www.example.com/new-path/file.html

Blockieren bestimmter IP-Adressen

Die .htaccess Datei kann außerdem genutzt werden, um bestimmten IP-Adressen den Zugriff auf eine Website zu verweigern. Hierfür muss folgender Eintrag in die Datei eingefügt werden:

order allow,deny 
deny from 195.138.7.19 
deny from 10.10.20.73 
allow from all

Hierbei wird jede IP-Adresse, die blockiert werden soll, in eine eigene Zeile eingetragen.

Wann sollte eine .htaccess Datei eingesetzt werden?

Die .htaccess-Datei ist eine bedeutende Konfigurationsdatei, mit der sich unterschiedliche Einstellungen am Apache-Webserver realisieren lassen. Da alle Änderungen in der Konfiguration sofort in Kraft treten, kommt dem richtigen Umgang mit .htaccess eine wichtige Rolle zu. Falsche Angaben und Konfigurationen in einer .htaccess-Datei können erheblichen Schaden an der betroffenen Website verursachen. Aus diesem Grund sollte die Datei stets mit Bedacht eingesetzt werden und nur dann, wenn kein Zugriff auf die zentrale Konfigurationsdatei vorhanden ist.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!