Antworten auf Ihre häufigsten Fragen

Was ist eine .htaccess, und wie lege ich diese Datei an?

Die .htaccess ist eine Konfigurationsdatei, mit deren Hilfe verzeichnisbezogene Regeln für den Webserverdienst angegeben werden können.

Häufigste Anwendungsgebiete sind:

  • Suchmaschinenfreundliche Links (Permalinks)
  • Verzeichnisschutz und Passwortschutz
  • Umleitungen und eigene Fehlerseiten angeben
  • PHP-Einstellungen des PHP anpassen
  • Headerdaten der Webseite anpassen

Wie wird die .htaccess angelegt und bearbeitet

Wenn Sie die .htaccess-Datei anlegen möchten, erstellen Sie bitte auf Ihrem Rechner eine neue Datei, und geben dieser den Namen htaccess.txt. Zur Bearbeitung benötigen Sie dann einen entsprechenden Texteditor. Wir empfehlen hier Editoren, in denen Sie das Zeichensatzformat anpassen können, wie etwa Notepad++. Mit solchen Editoren können Sie das Zeichenformat anpassen und so eventuelle Formatierungsprobleme vermeiden. Stellen Sie hier sicher, dass die Datei im Format UTF8 (ohne Byte Order Mark) oder ANSI angelegt ist, damit der Server die darin enthaltenen Anweisungen lesen und interpretieren kann. Mit Hilfe des Texteditors können Sie die Anweisungen, die die Datei dem Webserver vermitteln soll, eintragen und anschließend abspeichern. Möchten Sie in der Datei auch Kommentare einfügen (etwa für eine bessere Übersichtlichkeit), stellen Sie der Zeile, welche den Kommentar enthält, eine Raute (#) voran. Dadurch wird der gesamte Inhalt dieser Zeile vom Server nicht ausgeführt.

Wenn die Datei fertig bearbeitet ist, laden Sie diese einfach per FTP in das gewünschte Zielverzeichnis, und benennen Sie dort in .htaccess (inklusive Punkt vor dem Namen) um. Da der führende Punkt, welcher für die Funktionalität zwingend notwendig ist, dafür sorgt, das die Datei von FTP-Programmen als versteckte Datei angesehen wird, sorgen Sie bitte dafür, dass Ihr FTP-Programm solche versteckten Dateien auch anzeigt, wenn Sie die .htaccess anlegen oder bearbeiten.

Wo wird die .htaccess abgelegt

Grundsätzlich greifen die Einstellungen einer .htaccess immer in dem Verzeichnis, in dem sie liegt, und in dessen Unterverzeichnissen. Sofern der Server mehr als eine .htaccess berücksichtigen muss (weil z.B. sowohl im Zielverzeichnis Ihrer Domain als auch im übergeordneten Verzeichnis eine .htaccess existiert), werden die in beiden Dateien hinterlegten Anweisungen vom Server berücksichtigt. Wenn Sie daher bestimmte Einstellungen für den Aufruf Ihrer Domain vornehmen möchten, sollte die .htaccess idealerweise im Stammverzeichnis der Domain liegen.

Welche Einschränkungen gibt es für die .htaccess

Auf dem Paket Webpack 4 M sind die Funktionen eingeschränkt. Die Möglichkeit, Änderungen über php_value und php_flag zu setzen, sowie die Options-Funktionen (+-Indexes, +-ExecCGI, +-FollowSymLinks, +-Includes, +-IncludesNOEXEC, +-MultiViews, +-SymLinksIfOwnerMatch) stehen nicht zur Verfügung. Ab dem Paket Webpack 4 L und allen WebHosting Paketen welche nach dem 01.05.2018 bestellt wurden, sowie auf allen WebServer Paketen ist .htaccess uneingeschränkt verfügbar. Wenn Sie ein älteres WebHosting Basic Paket oder ein WebPack 4 M haben und alle .htaccess-Funktionen benötigen, können Sie gerne unseren Kundenservice kontaktieren, damit wir mit Ihnen die Umstellung auf eines der neueren WebHosting Pakete besprechen können.

Spezifischer steht Ihnen bei Webpack 4 M und Webhosting Basic AllowOverride AuthConfig FileInfo Indexes und Limit zur Verfügung, ab Webpack 4 L und Webhosting Medium dann der Funktionsumfang gemäß AllowOverride All. Die entsprechende Dokumentation hierzu finden Sie auf den Seiten der Apache-Foundation.

Welche PHP-Einstellungen können geändert werden

Über die Befehle php_value und php_flag können Sie ab Webpack 4 L und Webhosting Medium einen Großteil der in der php.ini festgelegten Variablen anpassen. Eine komplette Auflistung finden Sie im PHP-Manual. Alle Variablen, bei denen PHP_INI_ALL oder PHP_INI_PERDIR aufgeführt ist, können von Ihnen verändert werden.

Beispiel 1 (Änderung der max_execution_time auf 5 Minuten)

php_value max_execution_time 300

Beispiel 2 (Skriptseitige Aktivierung der PHP-Fehler-Darstellung)

php_flag display_errors on

Wenn Sie dieses Beispiel verwenden, sollte die Skripteinstellung für PHP-Errors entsprechend angepasst werden.

Produktverwaltung - Ihr Produktbereich - Konfigurieren - Skripte & Datenbanken - Skript-Einstellungen

Hierzu stellen Sie bitte die Option php_flag / php_admin_flag auf php_flag um. Des weiteren ist es empfehlenswert die Option Logging-level auf "Alle Meldungen (gemäß E_ALL)" umzustellen, damit alle Fehler ausgegeben werden. Bitte setzen Sie das Logging-Level nach der Fehlerprüfung wieder auf "Error und schwerwiegender" zurück, da sonst die Gefahr besteht, dass das Logfile vollläuft.

Beispiel 3 (Aussperren einer unerwünschten IP-Adresse xxx.xxx.xxx.xxx)

<RequireAll>
Require all granted
Require not ip xxx.xxx.xxx.xxx
</RequireAll>

Hilfreiche Links Weiterführende Erklärungen
https://wiki.selfhtml.org/wiki/Webserver/htaccess

Praktische Beispiele für den Einsatz der .htaccess
http://www.htaccesserstellen.de/
https://github.com/phanan/htaccess/tree/master/Translations/German

Generator für den Einsatz bestimmter Funktionen
http://www.htaccesseditor.com/gr.shtml#a_errorPage


otto.friedrich@hosteurope.de xanthippe.ypsilante@hosteurope.de hercules.ikarus@hosteurope.de