.htaccess Anleitungen für Ihr Hosting
Hier finden Sie detaillierte Anleitungen zum Thema .htaccess. Wie richten Sie Weiterleitungen ein? Wie kann man IP-Adressen sperren bzw. freigeben lassen?
Inhaltsverzeichnis:
- Was versteht man unter .htaccess
- Erstellen einer .htaccess Datei
- Warum ist meine .htaccess in FileZilla nicht sichtbar?
- Startseite mit der Option DirectoryIndex definieren
- Passwort geschützten Bereich einrichten
- Weiterleitung auf https mittels .htaccess
- Domain mittels .htaccess in Unterordner weiterleiten
- Weiterleitung (Redirect 301) von "nicht www" auf "www" mittels .htaccess
- Auflistung der in dem Verzeichnis vorhandenen Daten erlauben mit .htaccess
- Einzelne IP Adressen oder ganze IP Bereiche (IP Range) sperren mit .htaccess
- Einzelne IP Adressen oder ganze IP Bereiche (IP Range)zulassen mit .htaccess
- 301 Weiterleitung (Redirect) auf andere Seite mit .htaccess
- Weiterleitung bei Umzug auf eine neue Domain mit Weitergabe des Pfades
- 301 Weiterleitung von alter URL zu neuer URL mit und ohne .html am Ende
- Lösung für Fehlermeldung: Option FollowSymLinks not allowed here (Internal Server Error)
Was versteht man unter .htaccess?
Die .htaccess Datei ist eine textbasierte Datei auf Webservern wie Apache, welche es berechtigten Nutzern ermöglicht, verzeichnisspezifische Konfigurationen wie etwa Weiterleitungen oder einen Passwortschutz einzurichten.
Im Regelfall befindet sich die .htaccess Datei im Hauptverzeichnis der Website. Die Einstellungen der Datei sind im aktuellen Verzeichnis wie auch in allen Unterverzeichnissen wirksam.
Viele CMS Programme wie Joomla und Typo3 liefern bereits eine vorgefertigte .htaccess Datei, welche über die wichtigsten Regeln verfügt, damit die Website als Suchmaschinen "freundlich" eingestuft wird.
Erstellen einer .htaccess Datei
Webserver mit Telnet oder SSH Zugängen ermöglichen eine Erstellung sowie das Bearbeiten der Datei direkt am Server. Bei Servern mit FTP Zugang muss die Datei jedoch lokal erstellt werden und anschließend hochgeladen werden. Eine lokale Erstellung ist mit allen gängigen Texteditoren möglich.
Der Beginn des Dateinamens mittels Punkt ist für Unix-Systeme üblich. Verzeichnisspezifische Konfigurationsdatein beginnen bei Unix stets mit einem Punkt. Durch den Punkt wird die .htaccess Datei als "versteckt" gekennzeichnet. Server Administratoren sowie berechtigte Nutzer können mittels der .htacces Datei schnell und unkompliziert Einfluss auf die Konfiguration des Servers nehmen. Dadurch können z.B: ganze Verzeichnisse geschützt werden, oder man kann auch eigene Fehlerseiten sowie Weiterleitungen einrichten.
Warum ist meine .htaccess Datei in FileZilla nicht sichtbar?
Falls Ihre .htaccess Datei im FileZilla nicht angezeigt werden sollte lässt sich das durch einen Klick auf den Menüpunkt Server und auswählen der Option Auflistung versteckter Datein erzwingen beheben.
Startseite mit der Option DirectoryIndex definieren
Beim Aufrufen Ihrer Domain (www.ihredomain.tld) ohne Verwendung von Dateinamen (www.ihredomain.tld/dateiname.html) wird als Startseite standardgemäß die "index.html" Datei verwendet, sollte keine index.html Datei vorhanden sein folgt in der Reihenfolge die "index.php" Datei.
Sie können aber auch über die .htaccess Datei eine benutzerdefinierte Startseite mit folgender Anweisung verwenden.
Mit dieser Anweisung legen Sie die Datei "DATEINAME.html" als Startseite fest, sollte diese nicht existieren wird als nächstes die Datei index.html verwendet.
Passwort geschützten Bereich einrichten
Um ein Verzeichnis oder Datein mittels .htaccess zu schützen müssen Sie folgenden Code in der .htaccess Datei hinzufügen.
AuthName "Bitte melden Sie sich mit Ihrem Benutzer an"
AuthUserFile /kompletter Pfad der Passwortdatei/.htpasswd
Require valid-user
Zusätzlich muss noch eine weitere Datei .htpasswd erstellt werden. Diese Datei dient zum Speichern der berechtigen Benutzername sowie deren Passwörter.Passworter dürfen in Unix-Systemen nur verschlüsselt eingetragen werden. Der Inhalt der .htpasswd Datei kann z.B. mit dem Tool htpasswd erzeugt werden.
Diese Datei können Sie sich jedoch auch in Ihrem Control Panel unter dem Modul Geschützte Verzeichnisse erstellen.
Beispiel der .htpasswd Datei:
User2:KyQG7Uka$j
User3:rX7QWBSxa
Die .htaccess Datei muss sich in dem Verzeichnis befinden, welches durch das Passwort geschützt werden soll oder die Datei liegt, welche geschützt werden soll. Idealerweise sollte die .htpasswd Datei oberhalb des Rootverzeichnisses abgelegt werden.
Weiterleitung auf https (eigenes SSL Zertifikat) mit .htaccess
Für eine Weiterleitung auf eine https gesicherte Adresse, mit einem eigenen Zertifikat, fügen Sie bitte folgende Einträge in Ihrer .htaccess-Datei ein.
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
Eine Weiterleitung auf https kann auch in Ihrem Control Panel bei bestehendem Zertifikat im Modul Domains eingerichtet werden.
Domain mittels .htaccess in Unterordner weiterleiten
Haben Sie Ihre Homepage, CMS, Onlineshop oder andere Hosting Software in einen Unterordner auf Ihrem Hosting Paket installiert, können Sie mit folgendem Eintrag in der .htaccess in diesen Unterordner weiterleiten. Beim Aufruf der Domain wird dann automatisch in diesen Unterordner weitergeleitet:
RewriteCond %{HTTP_HOST} ^(www\.)?domain.tld$ [NC]
RewriteCond %{REQUEST_URI} !UNTERVERZEICHNIS/
RewriteRule ^(.*)$ UNTERVERZEICHNIS/$1 [L]
In manchen Fällen, wenn es sich zum Beispiel um eine Subdomain handelt, funktioniert die Variante 1 nicht fehlerfrei. Hier sollte dann folgender Code verwendet werden:
RewriteCond %{HTTP_HOST} ^subdomain\.domain.tld$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomain/
RewriteRule ^(.*)$ /subdomain/$1 [L]
Weiterleitung (Redirect 301) von "nicht www" auf "www" mittels .htaccess
Diese Methode wird oft empfohlen um zu verhindern, dass Suchmaschinen (vor allem Google), den Inhalt Ihrer Webseite als Duplicate Content (gleicher Inhalt auf mehreren Seiten) wertet, da Ihre Seite im Normalfall mit und ohne www erreichbar ist. Dies kann zu einer schlechteren Platzierung bei den Suchmaschinen führen. Mit folgendem Code können Sie Ihre Domain von "nicht www" (z.B.: http://ihredomain.tld) auf "www" (z.B.: http://www.ihredomain.tld) weiterleiten
RewriteCond %{HTTP_HOST} !^www\.ihredomain\.tld$ [NC]
RewriteRule ^(.*)$ http://www.ihredomain.tld/$1 [L,R=301]
Man kann natürlich auch von "www" auf "nicht www" weiterleiten. Dazu verwenden Sie einfach folgenden Code:
RewriteCond %{HTTP_HOST} ^www\.ihredomain\.tld$ [NC]
RewriteRule ^(.*)$ http://ihredomain.tld/$1 [L,R=301]
Auflistung der in dem Verzeichnis vorhandenen Daten erlauben mit .htaccess
Standardmäßig ist die Auflistung von Verzeichnissen und Dateien auf unseren Servern deaktiviert. Das bedeutet, wenn sich keine index.html oder index.php Datei im Verzeichnis befindet, wird die Meldung "Forbidden" vom Server ausgegeben. Sie können die Auflistung der Verzeichnisse oder Dateien aber mit Hilfe eines Eintrags in der .htaccess Datei erlauben:
Einzelne IP Adressen oder ganze IP Bereiche (IP Range) sperren mit .htaccess
Sie können durch folgende Einträge in der .htaccess Datei bestimmte IP Adressen oder auch ganze IP Adressbereiche sperren. Dies kann zum Beispiel nützlich sein, wenn durch eine bestimmte IP Adresse Angriffsversuche statt finden.
Sollen mehrere einzelne IP Adresse gesperrt werden, wird jede IP Adresse in eine eigene Zeile eingetragen. Wird die Seite von einer gesperrten IP Adresse aufgerufen erhält der Besucher den Fehlercode 403 (HTTP-Fehler 403 Forbidden).
# Einzelne IP Adresse sperren:
deny from 192.168.5.200
# Kompletten IP Bereich von 192.168.5.1 - 192.168.5.255 sperren:
deny from 192.168.5.
# möglich ist auch den Class C IP Bereich von 192.168.5.1 - 192.168.5.255 zu sperren:
deny from 192.168.5.0/24
allow from all
Einzelne IP Adressen oder ganze IP Bereiche (IP Range) zulassen mit .htaccess
Sie können durch folgende Einträge in der .htaccess Datei bestimmte IP Adressen oder auch ganze IP Adressbereiche zulassen. Dies kann zum Beispiel nützlich sein, wenn der Zugriff auf den Administratorbereich einer Webseite oder bestimmte Verzeichnisse einer Webseite, nur für eine gewisse IP Adresse oder mehrere IP Adressen erlaubt sein soll.
# Alle anderen IP Adressen werden nicht zugelassen:
deny from all
# Einzelner IP Adresse Zugriff erlauben:
allow from 192.168.5.200
# Kompletten IP Bereich 192.168.5.1 - 192.168.5.255 Zugriff erlauben:
allow from 192.168.5.
301 Weiterleitung (Redirect) auf andere Seite mit .htaccess
Eine 301 Weiterleitung von Ihrer Domain auf eine andere Webseite kann mit folgender Zeile in der .htaccess Datei erstellt werden:
Weiterleitung bei Umzug auf eine neue Domain mit Weitergabe des Pfades
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?altedomain.tld$ [NC]
RewriteRule (.*) https://www.neuedomain.tld/$1 [R=301,L]
301 Weiterleitung von alter URL zu neuer URL mit und ohne .html am Ende
Eine Weiterleitung von einer alten URL auf eine neue URL kann mit folgender Eingabe erreicht werden:
RewriteRule ^alteseite(/$|\.html) /neueseite.html [R=301,L]
Lösung für Fehlermeldung: Option FollowSymLinks not allowed here (Internal Server Error)
Eine sehr häufige Ursache für einen "Internal Server Error" kann sein, dass Sie die Option "FollowSymLinks" in Ihrer .htaccess Datei gesetzt haben. Zusätzlich zur Anzeige der Nachricht "Internal Server Error" in Ihrem Browser wird auch im Error Log (dieses finden Sie im Control Panel Modul Entwicklung) der Fehler "Option FollowSymLinks not allowed here" aufgezeichnet.
Um diesen Fehler zu beheben, müssen Sie die Option "FollowSymLinks" in allen .htaccess Dateien Ihrer Webseite durch "SymLinksIfOwnerMatch" ersetzen.