Was ist htaccess
.htaccess
-Dateien sind Server-Konfigurationsdateien mit der Sie Dateien und Verzeichnisse
durch Passwörter schützen können, automatische Weiterleitungen einstellen, oder eigene
Fehlerseiten festlegen. Der Name der .htaccess
-Datei beginnt mit einem Punkt, dass seinen
Ursprung in Unix hat, in der viele verzeichnisspezifische Konfigurationsdateien mit einem Punkt beginnen.
.htaccess
-Dateien sind Text-Dateien, die Sie mit einen Text-Editor erstellen können.
Passwort-Schutz
Erstellen Sie eine .htaccess
-Datei in dem Verzeichnis, dass Sie schützen möchten.
Sie können festlegen, ob Sie das Verzeichnis mit oder ohne Unterverzeichnisse schützen möchten.
Die .htaccess
-Datei könnte so aussehen:
# .htaccess-Datei für Verzeichnis-Schutz
AuthType Basic
AuthName "Gesperrter Bereich"
AuthUserFile /usr/verwaltung/web/.htpasswd
Require valid-user
Kommentare beginnen mit einer Raute #, wie hier in der ersten Zeile dargestellt.
Mit AuthType
bezeichnen Sie die Art der Authentifizierung. Die übliche Art ist
Basic
, wobei das Passwort unverschlüsselt vom Browser an den Server gesendet wird.
Alternativ gibt es Digest
, das allerdings nicht alle Browser unterstützen. Hierbei wird
das Passwort verschlüsselt gesendet.
AuthName
ist die Überschrift, die der Browser im Eingabefenster angezeigt wird.
Mit AuthUserFile
legen Sie fest, wo sich die Datei mit dem Passwort befindet. Hier sollten
Sie den absoluten Pfadnamen angeben, den Sie bei Ihren Webhosting-Provider erfragen müssen.
Zu guter letzt geben Sie noch require
an, dass das Schlüsselwort
valid-user
bekommt. Wenn Sie mehrere User bzw. Gruppen ein Passwort zugeteilt haben,
gibt es noch die Schlüsselwörter user
oder group
, wozu ich später
komme.
In der Passwort-Datei .htpasswd
, die auch anders heißen kann, aber immer mit .ht
beginnen sollte, geben Sie den Benutzernamen und das durch MD5 oder Crypt verschlüsselte Passwort, getrennt
durch ein Doppelpunkt getrennt wird, an. Dies könnte dann so aussehen:
frank:$1$BKsuuyZD$9fQQRWa.HOC6daWvFBTcy1
Mit folgenden Formular können Sie ein Passwort (max. 8 Zeichen) nach der Crypt-Methode generieren:
Hinweis: Mit crypt
können max. 8 Zeichen verschlüsselt werden. Enthält das
zu generierende Kennwort mehr Zeichen, so werden nur die ersten 8 Zeichen generiert.
Passwort-Schutz für Gruppen und User
Möchten Sie mehreren Usern bzw. Gruppen den Zutritt auf Ihr Verzeichnis gestatten, sieht die
.htaccess
-Datei ein wenig anders aus:
# .htaccess-Datei für Verzeichnis-Schutz
AuthType Basic
AuthName "Gesperrter Bereich"
AuthUserFile /usr/verwaltung/web/.htpasswd
AuthGroupFile /usr/verwaltung/web/.htgroup
Require user Hugo Egon Tom
Require group Techniker
Hinter Require
und dem Schlüsselwort user
schreiben Sie nun die Namen der
User, sowie hinter group
den Namen der Gruppe. Die .htpasswd
hat nun mehrere Einträge,
und zwar pro Zeile ein User.
# .htpasswd - User
Hugo:$1$qW0.ra5.$FUo7FfMtMrU/U7PO3NE420
Egon:$1$YI2.BW/.$CwD5vJcA822Ya8wDM3oue1
Tom:$1$0d/.Hd5.$ORtpkEjvdNiu0KBQwLYZY0
Michel:$1$Ey..701.$dV7Mfb/v06dsx3fDGIQ.f.
Sam:$1$CW/.jW4.$AAb0Rr2qnkkmoDIyRIeci.
Rudolf:$1$wG/.3l2.$zK2VTLyQSTjbzE8JcR6Xr.
Zusätzlich erstellen Sie nun noch eine weitere Datei, mit den Namen .htgroup
, in der
Sie die User-Namen der Gruppe (hier Techniker) auflisten.
# .htgroup - GruppenDatei
Techniker: Michel Sam Rudolf
Fehlerseiten
In der .htaccess
-Datei können Sie individuelle Fehlerseiten festlegen, die ausgegeben wird,
wenn die aufgerufene Seite nicht existiert. Hierzu notieren Sie ErrorDocument
gefolgt von
der Errornummer. Nun folgt die Fehlermeldung, die Sie in drei variationen eingeben können:
1) Fehlertext - Hierbei notieren Sie den Fehlertext, der ausgegeben werden soll. Beachten Sie dabei,
das der Text in einer Zeile geschrieben wird, oder bei Zeilenende ein Backslash \ gestellt wird.
# Fehlermeldung mit Text
ErrorDocument 404 "Die angeforderte Seite kann nicht gefunden werden. -\
Versuchen Sie es bitte erneut."
2) HTML-Ausgabe - Sie können auch HTML einsetzen, das dann in etwa so aussehen kann
# Fehlermeldung mit HTML
ErrorDocument 404 "<html><head><title>Fehler</title>\
<style type='text/css'>\
body {background-color:#FFFFFF;}\
h1,p,a {font-family:Helvetica,Arial,Sans-serif;}\
h1 {font-size:24px; margin-bottom:0em;}\
p {font-size:16px;}\
a {font-size:16px;}\
a:link,a:visited {color:#0000FF;}\
a:hover {color:#000080;}\
</style>\
</head><body>\
<h1>Fehler 404</h1>\
<p>Die angeforderte URL kann nicht gefunden werden.</p>\
<p>Durch folgenden Link kommen Sie zur\
<a href='/'>Startseite</a>.</p>\
</body></html>"
3) HTML-Datei - Die wohl effektivste Möglichkeit ist, eine HTML-Datei (z.B. error404.html) zu
erstellen, und diese in der .htaccess
-Datei zu definieren.
# HTML-Fehlerdokument
ErrorDocument 404 /error404.html
Setzen Sie dabei die .htaccess
und HTML-Datei in das Wurzelvereichnes. Sie können
aber auch Fehlerseiten für bestimmte Verzeichnisse erstellen. Dabei legen Sie die
.htaccess
-Datei und HTML-Datei in das bestimmte Verzeichnis, wobei die .htaccess
wie folgt aus
# HTML-Fehlerdokument
ErrorDocument 404 error404.html
Der Unterschied liegt also nur darin, dass hier der Slash vor der HTML-Datei fehlt ;)