.htaccess
Aus Subdomain
In der .htaccess Datei können die Nutzer des Subdomain Dienstes bestimmte Eigenschaften des Apache Servers im Bezug auf den eigenen Webspace anpassen.
Inhaltsverzeichnis |
Passwortschutz mit .htaccess / .htpasswd
Inhalt der .htaccess
AuthType Basic AuthName "Interner Bereich" AuthUserFile /data/multiserv/users/<user_id>/projects/<project_id>/www/.htpasswd <limit GET POST PUT> require valid-user </limit>
Erläuterung
AuthType Basic
Authentifikationsmethode des Benutzers. In diesem Fall Basic.
AuthName "Interner Bereich"
Beschreibt, wie der passwortgeschützte Bereich heißen soll. In diesem Fall Interner Bereich.
AuthUserFile /data/multiserv/users/<user_id>/projects/<project_id>/www/.htpasswd
Der Wert gibt an, wo sich die .htpasswd Datei befindet, in ihr sind die Passwörter für die jeweiligen Benutzer gespeichert.
Um den Pfad für euren Webspace zu ermitteln, erstellt euch eine .php-Datei mit folgendem Inhalt, ladet sie auf euren Webspace hoch und führt sie anschließen aus:
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
<Limit GET POST PUT>
Gibt an, was der jeweilige Benutzer für Rechte hat.
| Name | Funktion |
|---|---|
| GET | Der Berechtigte darf Seiten/Scripts im geschützten Verzeichnis per URL aufrufen |
| POST | Der Berechtigte darf Formulardaten im geschützten Verzeichnis senden |
| PUT | Der Berechtigte darf Dateien in das geschützte Verzeichnis laden |
| HEAD | Der Berechtigte darf Kopfdaten von Seiten innerhalb des geschützten Verzeichnis laden |
| DELETE | Der Berechtigte darf Dateien innerhalb des geschützten Verzeichnis löschen |
| TRACE | Der Berechtigte darf Requests bzw. Responses innerhalb des geschützten Verzeichnis zurückverfolgen |
require valid-user
Legt fest, dass nur die Nutzer, die in der htpasswd festgelegt wurden, Zugriff bekommen.
</Limit>
Schließt den Tag für die Benutzer wieder.
Inhalt der .htpasswd
Für unser Beispiel sieht der Inhalt wie folgt aus:
testbenutzer:$1$iSB1puZk$mtzIYmpT/MBHA1lItUVT01
testbenutzer2:$1$qIfZws71$EMz0ByALLE2jKZU/m0/bb1
Erläuterung
testbenutzer:$1$iSB1puZk$mtzIYmpT/MBHA1lItUVT01
Der erste Teil bis zum Doppelpunkt ist der Benutzer. Der zweite Teil ist das Passwort, in diesem Fall 1234. Beim testbenutzer2 genau das gleiche.
Wichtig! Bei der Anlegung von Benutzern ist auf Groß- und Kleinschreibung zu achten!
Zur Erstellung des Passwortschutzes gibt es viele verschiedene .htaccess Generatoren. Hier ein recht simpler in dem ihr nur einen Usernamen samt Passwort eingeben müsst, sowie den Pfad zu eurem Projekt. .htaccess Generator :: Webmaster Toolkit:
mod_rewrite
mod_rewrite ist ein zusätzliches Apache-Modul, mit dem es möglich ist, Dateien unter anderen URLs als normal aufzurufen. So kann man zum Beispiel hiermit PHP Scripts mit der Dateiendung .php auch mit der Endung .html erreichen, um dem Gast eine nicht-dynamische Seite vorzugauckeln:
RewriteEngine On RewriteRule (.*)\.php$ $1.html
Beispiel: Ein Besucher ruft test.html auf, bekommt aber diese nicht geliefert, sondern erhält die test.php
Mehr zu mod_rewrite hier: modrewrite.de
charset
Wollt ihr das default Charset eurer Website ändern, so ist dies ebenfalls über die .htaccess Datei möglich. Hierfür müsst ihr insgesamt 2 Konfigurationsparameter angeben.
AddDefaultCharset UTF-8 php_value default_charset UTF-8
Dieses Beispiel würde euer Charset auf UTF-8 ändern.
"Index of" Ansicht selber konfigurieren / aussschalten
Man kann die Darstellung des Directory Listings selbst konfigurieren, dazu sind nur wenige Zeilen in der .htaccess Datei nötig:
AddDescription "HTML-Datei, anzeigbar" .htm .html AddDescription "GIF-Grafik, anzeigbar" .gif AddDescription "JPEG-Grafik, anzeigbar" .jpg AddDescription "PHP-Script, anzeigbar" .php AddIcon /admin/filephp.jpg php AddIcon /admin/filegif.jpg gif AddIcon /admin/filehtml.jpg html htm AddIcon /admin/folder.jpg ^^DIRECTORY^^ AddIcon /admin/unknown.jpg ^^BLANKICON^^ IndexOptions IconHeight=22 IconWidth=20
Man schaltet die "Index of"-Ansicht aus, indem man in die .htacces Datei schreibt:
Options -Indexes
Man kann die Startseite wie folgt festlegen:
DirectoryIndex eigene-startseite.php index.php index.html index.htm
