Eigene Einstellungen über eine .htaccess
-Datei
Die folgenden Codezeilen müssen immer in der Datei namens .htaccess
in Ihrem htdoc/
-Verzeichnis hinzugefügt werden. Dateien für einen Passwortschutz müssen im entsprechenden Unterverzeichniss liegen.
Falls Sie noch keine entsprechende Datei haben, fügen Sie sie zunächst neu hinzu (Punkt am Anfang des Dateinamens nicht vergessen).
Die Möglichkeiten, über .htaccess
die Webservereinstellungen zu überschreiben, haben wir aus Sicherheitsgründen stark eingeschränkt.
Einzig erlaubt sind:
- Passwortschutz von Verzeichnissen mittels
mod_auth
- Rewrite- und Redirect-Regeln mittels
mod_rewrite
Nicht erlaubte Einstellungen in der .htaccess
führen zu Fehlermeldungen. Viele CMS-Systeme bringen schon .htaccess
-Dateien mit, die wegen bei uns nicht erlaubter Einstellungen zu Fehlermeldungen führen. In den Logdateien können Sie sehen, welche das sind und diese ggf. entfernen oder mit einem vorangestellten Kommentarzeichen #
deaktivieren. Oft funktionieren die CMS-Systeme auch ohnen diese Einstellungen.
Beachten Sie dabei folgendes:
- Der Verzeichnisschutz greift für das Verzeichnis, in dem die
.htaccess
-Datei liegt, sowie für alle Unterverzeichnisse dieses Verzeichnisses. - Das
<your-site-name>
müssen Sie durch den Namen Ihres SCP-Hosts ersetzen. Diesen haben Sie durch das Fax mit den Zugangsdaten, das wir Ihnen geschickt haben, erhalten. Der Name des SCP-Hosts folgt üblicherweise dem Muster<Generischer Name>.web.belwue.de
(siehe hierzu auch den Artikel "Generischer Name"). - Das
<your-Domain>
müssen Sie durch den Namen Ihrer Domain ersetzen, zum Beispielwww.ihre-schule.de
- Soll die Weiterleitung für die Domain sowohl mit als auch ohne
www.
gelten, ist die Schreibweise:(www.)?ihre-schule.de
Schritte zum Erstellen eines passwortgeschützten Verzeichnisses
- Anlegen des zu sichernden Verzeichnisses.
- Anlegen einer Datei mit Namen
.htaccess
in dem zu sichernden Verzeichnis. - Anlegen einer Datei mit Namen
https-user
im Verzeichniswebsite_upload
(vgl. hierzu auch die Beschreibung der Verzeichnisstruktur auf dem Webserver). In der Datei stehen die Benutzer mit den Passwort-Hashes in der Darstellunguser:passwordhash
. - Erstellen eines Passwortes für den Nutzer.
- Benutzername und generierten Passwort-Hash in die
https-user
-Datei eintragen.
Hinweise:
- Die Einträge für die
https-user
-Datei werden üblicherweise mit dem Apache-Toolhtpasswd
erstellt. Sollten Sie nicht über dieses Tool verfügen, können Sie z. B. diesen Online-Generator dafür verwenden. Achten Sie dabei darauf, dass Sie als Verschlüsselungsmethode nicht "crypt" verwenden, denn das ist inzwischen völlig veraltet und daher zu unsicher. - Obwohl sie die Datei
https-user
im Verzeichniswebsite_upload
abgelegt haben, heißt das Verzeichnis in der Pfadangabe fürAuthUserFile
einfach nurupload
. Das rührt daher, dass der Web-Server die Beziehungen zwischen verschiedenen Verzeichnissen intern teilweise über sog. symbolische Links herstellt.
Beispiel für eine .htaccess
-Datei
Die .htaccess
-Datei für den Zugriffsschutz eines Verzeichnisses könnte z. B. so aussehen:
AuthType Basic
AuthName "Restricted Resource"
AuthUserFile /var/www/HumanReadable/<your-site-name>/data/upload/https_users
SSL RequireSSL
Require valid-user
Umleitung auf https
Hierfür benötigen Sie zunächst ein offizielles und gültiges Zertifikat; siehe dazu: "Hinweise zur EU-Datenschutzverordnung"
Wenn das Zertifikat installiert ist und Sie erzwingen möchten, dass der Webauftritt nur noch über HTTPS aufgerufen werden kann, ergänzen Sie die .htaccess
-Datei mit folgendem Inhalt:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bei vielen CMS lässt sich der HTTPS-Aufruf schon durch Setzen entsprechender Variablen (z. B. $site_url
o. ä.) dazu veranlassen, dann ist das Ablegen der .htaccess
-Datei nicht nötig. Bei Moodle-Auftritten wird der HTTPS-Aufruf über einen entsprechenden Wert der Variable $CFG->wwwroot
erzwungen.
Weiterleitung auf eine andere URL
Hiermit können Sie den Seitenaufrufer auf eine beliebige andere Seite weiterleiten. Dies ist zum Beispiel dann sinnvoll, wenn Sie eine neue Homepage mit einer neuen Domain haben. Ergänzen Sie die .htaccess
-Datei mit folgendem Inhalt:
RewriteEngine On
RewriteCond %{HTTP_HOST} <your-Domain>
RewriteRule (.*) http://www.zieldomain.de/$1 [R=301,L]
Wobei www.zieldomain.de
natürlich durch die URL, auf die weitergeleitet werden soll, zu ersetzen ist.
Weiterleitungen in einen Unterordner auf der Zielseite sind direkt möglich, zum Beispiel: www.zieldomain.de/unterordner/sicherheit
Weiterleitung auf www
Wenn Die Seite sowohl mit als auch ohne www.
am Anfang aufgerufen werden kann, Sie aber wollen, dass das www.
im Browser immer angezeigt wird:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^<your-Domain>\.de$
RewriteRule ^(.*)$ http://www.<your-Domain>.de/$1 [R=301,L]
Wobei <your-Domain>
in diesem Fall nur der Teil der Domain ohne www.
ist.
Der umgekehrte Fall funktioniert analog.
Weiterleitung in einen Unterordner
Hiermit können Sie den Seitenaufrufer auf einen bestimmten Unterordner weiterleiten. Dies ist zum Beispiel dann sinnvoll, wenn ein CMS-System in einem Unterordner installiert ist oder Sie eine alte Version zu Archivzwecken verfügbar machen wollen. Dafür bietet es sich an, eine zusätliche Subdomain einzurichten wie zum Beispiel archiv.ihre-schule.de
. Kontaktieren Sie dazu den Support unter: webmaster@belwue.de
RewriteEngine on
RewriteCond %{HTTP_HOST} ^<your-Domain>$
RewriteCond %{REQUEST_URI} !^/unterordner/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /unterordner/$1
RewriteCond %{HTTP_HOST} ^<your-Domain>$
RewriteRule ^(/)?$ unterordner/index.php [L]
Anstatt auf index.php
können Sie auch auf index.html
oder andere Dateien verweisen.