Webserver/htaccess/Verzeichnisoptionen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Verzeichnis-Optionen einstellen

Mit Hilfe einer .htaccess-Datei können Sie alle zentralen Verzeichnis-Optionen, die in der Konfiguration des Webservers eingestellt sind, für das entsprechende Verzeichnis und seine Unterverzeichnisse ändern. Voraussetzung ist allerdings, dass in der zentralen Webserver-Konfiguration mindestens AllowOverride Options Indexes FileInfo eingetragen ist. Wenn nicht, dann werden Angaben für andere Verzeichnis-Optionen in Ihrer .htaccess-Datei ignoriert.

Beispiel: .htacces-Datei
# Datei für Verzeichnis /bilder Options +ExecCGI -Indexes DirectoryIndex erste.htm start.htm

Mit Options können Sie verschiedene wichtige Grundeinstellungen ändern, die der Webserver für Verzeichnisse verwendet. Hinter Options können Sie eine oder mehrere der folgenden Angaben notieren:

  • All erlaubt alles bis auf das Definieren alternativer Inhalte. Dies ist die Voreinstellung und gilt auch, wenn Sie nichts explizit angeben möchten.
  • +ExecCGI erlaubt das Ausführen von CGI-Scripts im Verzeichnis, falls es zentral nur im definierten CGI-Verzeichnis erlaubt ist, und -ExecCGI verhindert es, sofern es zentral in allen Verzeichnissen erlaubt ist.
  • +Includes erlaubt das Ausführen von Server Side Includes im Verzeichnis, falls es zentral verboten ist, und -Includes verhindert es, sofern es zentral erlaubt ist.
  • +IncludesNOEXEC erlaubt das Ausführen von Server Side Includes, die kein CGI-Script ausführen, -IncludesNOEXEC verbietet solche Server Side Includes.
  • +Indexes erlaubt Verzeichnis-Browsing, falls es zentral verboten ist, und -Indexes verhindert es, sofern es zentral erlaubt ist. Beim Verzeichnis-Browsing wird der Inhalt des Verzeichnisses im Browser aufgelistet, falls nur das Verzeichnis aufgerufen wird (z.B. http://www.example.com/bilder/) und dort keine Datei mit einem Namen zu finden ist, der „Index-Funktion“ hat.
  • +MultiViews erlaubt das Definieren nach unten alternativer Inhalte, -MultiViews schaltet es aus.

Im Normalfall ist der Webserver so konfiguriert, dass er das Stöbern im Verzeichnis zulässt, falls dort keine Datei mit Index-Funktion existiert. Das sind in der Einstellung der meisten Webserver Dateien mit Namen wie index.htm oder index.html. Mit DirectoryIndex können Sie andere Dateinamen bestimmen, die in diesem Verzeichnis und seinen Unterverzeichnissen als Dateien mit Index-Funktion gelten. Sie können beliebig viele Dateinamen angeben, welche dann in der Reihenfolge ihrer Angabe geprüft werden, falls mehrere von ihnen gleichzeitig im selben Verzeichnis existieren.

Beachten Sie: Sie müssen die Vorzeichen - und + nicht unbedingt angeben. Werden sie angegeben, so bewirken sie eine Korrektur eventuell in der zentralen Konfuguration vorhandener Einstellungen. Werden sie nicht angegeben, so werden eventuelle Voreinstellungen überschrieben.

[Bearbeiten] Weitere Einstellungen zu SSI

Um Dateien mit der Endung .html durch den Server nach SSI-Anweisungen durchsuchen zu lassen, bzw. dem Nutzer .shtml-Dateien als .html-Dateien zu präsentieren, gibt es verschiedene Möglichkeiten, von denen je nach System und Vorlieben der X-Bit-Hack oder das Umschreiben der URL verwendet werden sollten:

[Bearbeiten] X-Bit-Hack

Beim X-Bit-Hack werden HTML-Dateien mit SSI-Anweisungen in den Dateiberechtigungen als ausführbar markiert (das X-Bit wird gesetzt, beispielsweise per chmod +x seitenname.html) und der Webserver damit angewiesen, diese Dateien wie .shtml-Dateien zu behandeln. Da die Dateiberechtigungen nicht an den Client übermittelt werden, bekommt der Nutzer davon nichts mit.
Um diese Funktion nutzen zu können, muss sie per XBitHack on aktiviert werden.

Hinweis

Der X-Bit-Hack funktioniert nur auf Systemen, die das Setzen der Unix-Dateirechte unterstützen, also nicht unter Windows.

Diese Option funktioniert nur, weil das Markieren von Textdateien, die normalerweise keinen durch das System ausführbaren Code beinhalten, eigentlich keinen Sinn macht und dies daher vom Webserver zur Speicherung der Information „Datei enthält SSI-Anweisungen“ genutzt werden kann.

[Bearbeiten] Umschreiben der URL

Eine weitere Möglichkeit stellt das Umschreiben der URL von *.html auf *.shtml dar, sodass .shtml-Dateien dem Client als .html-Dateien präsentiert werden.

Beispiel: *.html-Dateien nach SSI-Anweisungen durchsuchen
RewriteEngine on # Prüft, ob Datei oder Ordner mit dem Namen existiert RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Leitet dann ggf. intern auf eine gleichnamige shtml-Datei um... RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.shtml

[Bearbeiten] Durchsuchen von HTML-Dateien nach SSI-Anweisungen

Beachten Sie: Diese Option sollten Sie aus Gründen der Performance nicht verwenden.

Es ist auch möglich, den Webserver anzuweisen, alle Dateien mit der Endung .html nach SSI-Anweisungen zu durchsuchen, was den Webserver über Gebühr ausbremsen kann:

Beispiel: *.html-Dateien nach SSI-Anweisungen durchsuchen
AddType text/html .html AddOutputFilter INCLUDES .html
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML