Die Datei .htaccess

 

Inhalt


Allgemeines

Die Datei .htaccess ist eine Datei mit der man Einstellungen des Server selber an die eigenen Bedürfnisse in einem gewissen Rahmen anpassen kann. Mit ihr kann eine Zugriffsbeschränkung auf eine bestimmt Gruppe von Benutzern gesteuert werden. Anders als bei irgendwelchen Scripten passiert diese Sicherung direkt auf dem Server und nicht erst beim Browser des Besuchers der Seiten. Außerdem können eigene Fehlermeldungen definiert werden für z.B. nicht gefundene Seiten.

Jedes Verzeichnis kann eine eigene .htaccess-Datei enthalten und somit eigene Einstellungen. Die Einstellungen sind kommulativ, d.h. Einstellungen, die z.B. im Hauptverzeichnis gemacht werden, gelten für alle Unterverzeichnisse genauso und müssen daher nicht überall wiederholt werden.

Alle Angaben in dieser Datei sind optional. Wird eine Angabe nicht gemacht, gelten entweder die Einstellungen der übergeordneten Verzeichnisse oder wenn diese nicht existieren die Standardeinstellungen des Servers.

Hinweis: Die Beispiele in dieser Datei basieren auf einem Apache-Server in der Version 1.3. Welche Einstellungen auf anderen Servern gelten bzw. funktionieren kann ich nicht beurteilen. Die Verwendung dieser Beispieldatei geschieht auf eigene Gefahr des Benutzers. Ich gebe keine Garantie für die korrekte Funktion und hafte für keinerlei Schäden, die aus der Benutzung dieser Datei entstanden sind.

Für Anregungen und Meldungen über Fehler in dieser Beschreibung bin ich immer sehr dankbar.

Nigjo Iqn am 16.02.2001
(letzte Änderung: 20.03.2001)

nach oben

Fehlerseiten

Fehlerseiten werden vom Server immer dann an den Browser geschickt, wenn dieser eine Seite angefordert hat, die auf dem Server nicht oder nicht mehr existiert. In diesem Fall erscheint meistens eine Fehlermeldung der Form "Fehler 404 : Seite nicht gefunden"

Ein anderer typischer Fall ist, wenn der Benutzer versucht auf eine Seite zuzugreifen für die er keine Berechtigung hat diese zu betrachten. Die Fehlermeldung lautet dann häufig "Fehler 401 : Zugriff verweigert"

In beiden Fällen ist es möglich eigene Fehlerseiten zu erstellen. Die nötigen Einträge in die Datei .htaccess sind folgende:

# Fehlerseite falls der Zugriff verweigert wurde
ErrorDocument 401 /error/401.htm
# Fehlerseite falls ein Dokument nicht gefunden wurden
ErrorDocument 404 /error/404.htm

WICHTIG! Die Pfade in den Fehlerseiten sollten immer mit einen Slash (/) beginnen, da die Seiten auch aus jedem Unterverzeichnis heraus aufgerufen werden können und das jeweilige Verzeichnis als aktuelles betrachtet wird und nicht das der Fehlerseiten!

nach oben

Verzeichnisschutz (Einstellungen)

Es gibt verschiedene Möglichkeiten Daten gegen fremden Zugriff zu schützen. Einen völligen Schutz zu gewährleisten ist im Grunde genommen nicht möglich. Aber der Schutzgrad durch die Datei .htaccess ist um ein vielfaches höher als es durch Java- oder CGI-Skripte möglich ist.

Die Einstellungen für den Verzeichnisschutz sollte man nicht jedesmal wiederholen, wenn man in Unterverzeichnisse des geschützten Verzeichnisses weitere .htaccess Dateien anlegt. Das macht Änderungen (wenn man z.B. seinen Provider wechselt) sehr aufwendig, da sie in jeder einzelnen Datei gemacht werden müßten.

Die folgende Zeile ist eine allgemeine Angabe, die die Art der Verschüsselung angibt. Auf den aktuellen Servern gibt es allerdings keine alternative Verschlüsselung, so das diese Angabe immer gemacht werden sollte.

AuthType Basic

Bezeichnung des geschützten Bereichs. Die Zeichenkette kann frei gewählt werden. Sie muß jedoch in doppelten Anführungszeichen stehen und man sollte darf achten keine Deutschen Umlaute zu verwenden, da die Darstellung auf anderen Systemen evtl. nicht korrekt ist.

AuthName "Geschuetzter Bereich auf meineDomain.de"

Pfad zur Datei mit den Passwörtern. Der lokale Serverpfad muß beim jeweiligen Provider erfragt werden. Ohne diese Angabe kann der Verzeichnisschutz über die .htaccess-Datei leider nicht erfolgen. Die Angabe "domaindir" gibt das Unterverzeichnis an innerhalb der eigenen Domain.

AuthUserFile /lokalerserverpfad/domaindir/.htpasswd

( Über die Datei .htpasswd werde ich mich noch mal später hier beschäftigen. Sollte in der Zwischenzeit jemand Fragen zu dieser Datei haben, kann er mir diese gerne per Mail stellen. )

Pfad zur Datei mit Gruppenzugehörigkeiten der Benutzer. Wird nur benötigt, wenn Freigaben für Gruppen statt einzelner Benutzer gemacht werden

AuthGroupFile /lokalerserverpfad/domaindir/.htgroup
nach oben

Verzeichnisschutz (Freigaben)

Berechtigte Benutzer

Es kann für jedes Verzeichnis eine Angabe gemacht werden, ob alle Benutzer oder nur ein paar wenige auf dieses Verzeichnis zugreifen dürfen. Dazu müssen nicht jedes mal die Einstellungen mit in der Datei stehen. Dies setzt allerdings veraus, das die Einstellungen mindestens einmal in einem der Übergeordneten Verzeichnissen gemacht worden sind.

"require valid-user" berechtigt alle Benutzer, die in der .htpasswd eingetragen wurden. Wenn neue Benutzer in der Passwort-Datei erstellt werden müssen dieser hier nicht mehr explizit angegeben werden.

require valid-user

Weitere Möglichkeiten für "require"

Sowohl bei der Benutzerfreigabe als auch bei der Gruppenfreigabe können mehrere Angaben gemacht werden. Die einzelnen Benutzer/Gruppen werden jeweils durch ein Leerzeichen voneinander getrennt.

Freigabe für einen bestimmten Benutzer. hier : "Hans"

require user Hans

Freigabe für Gruppen. (hier: "tester") Erfordert die Angabe einer Gruppendatei.

require group tester
nach oben

Umleitungen

Umleitungen dienen dazu einem Browser eine neue Adresse mitzuteilen, falls Verzeichnisse nicht mehr existieren oder umbenannt wurden. Die Angabe der neuen Adresse muß immer eine Absolute Adresse mit Angabe des Servers sein. Das Schlüsselwort "permanent" kann auch weggelassen werden, wenn es sich nur um einen temporären Umzug handelt.

Redirect permanent /verz1 http://www.meinedomain.de/anderesverz/verz1
# oder
Redirect /datei.htm http://www.meinedomain.de/anderesverz/neuedatei.htm

Diese Umleitungen haben gegenüber dem META-Tag http-equiv="refresh" oder irgendwelchen Java-Scripten den großen Vorteil, das nicht der Browser dafür zuständig ist sich die Adresse für die neue Seite zu suchen, sondern das dies alles bereits auf dem Server geschieht und somit Browser und Plattform unabhängig ist.

nach oben
sitemap
© by Nigjo Iqn