Wie ist ein htaccess-File aufgebaut?

Mit einer .htaccess Datei in einem Verzeichnis können Sie das Verhalten des Webservers für dieses und alle darunterliegenden Verzeichnisse beeinflussen. Eine Anleitung was htaccess ist und auf was zu achten ist finden Sie hier bei uns unter Was ist htaccess?

Ein htaccess-File besitzt folgende Basis Direktiven:

  • <Files>
  • <FilesMatch>
  • ForceType
  • Header
  • <IfDefine>
  • <IfModule>
  • <Limit>
  • LimitRequestBody
  • Satisfy
  • SetHandler

 

Die Direktiven <Files><FilesMatch>ForceType<IfModule> werden unten etwas ausführlicher erleutert.
Die vollständigen Anleitungen finden Sie unter http://www.apache.org/

Files Syntax<Files filename> ...</Files>
Mit <Files> und </Files> ist es möglich, Direktiven für bestimmte Dateien abhängig von ihrem Dateinamen zu vereinbaren. Das Argument filename benennt die Dateien, für die die nachfolgenden Einstellungen gelten sollen, wobei Wildcards ? und * erlaubt sind; d.h das Fragezeichen ( ? ) steht für ein beliebieges Zeichen, der Stern ( * ) für eine beliebige Zeichenkette. Regulären Ausdrücken ist die Tilde ( ~ ) voranzustellen.

Beispiele:

<Files    "*\.gz">
    ...
</Files>

betroffen sind alle Dateien, die mit .gz enden

 

 

<Files ~ "\.(gz|GZ|gzip|GZIP|Z)$">
    ...
</Files>

betroffen sind alle Dateien, die mit .gz.GZ.gzip.GZIP oder .Z enden

 

Files Match Syntax<FilesMatch filename> ...</FilesMatch>
Wie <Files> und <Files> mit dem Unterschied, dass reguläre Ausdrücke direkt akzeptiert werden (also ohne Angabe von ~).

Beispiel:

<FilesMatch    "\.(gz|GZ|gzip|GZIP|Z)$">
    ...
</FilesMatch>

betroffen sind alle Dateien, die mit .gz.GZ.gzip.GZIP oder .Z enden

 

Force Type SyntaxForceType media type
Die Direktive ForceType im .htaccess-File bewirkt, dass alle Dateien des Verzeichnisses (und sämtlicher Unterverzeichnisse) vom HTTP-Server so behandelt werden, als seien sie vom angegebenen Typ media type.

Beispiel 1: Z.B. ist die Vereinbarung

ForceType application/octet-stream

dann sinnvoll, wenn alle Dateien eines Verzeichnisses nicht angezeigt sondern lediglich zum Downloaden freigegeben werden sollen.

 

Beispiel 2:

<FilesMatch    "\.(gz|GZ|gzip|GZIP|Z)$">
    ForceType application/octet-stream
</FilesMatch>

Alle Dateien, die mit .gz.GZ.gzip.GZIP oder .Z enden, werden nicht angezeigt, sondern zum Downloaden freigegeben.

 

IfModule Syntax<IfModule [!]module-name> ...</IfModule>
Die Klammer <IfModule test> ... </IfModule> wird benutzt, um Direktiven abhängig von den im HTTP-Server installierten Modulen setzen zu können.

Der Module-Name kann angegeben werden als

  • module-name

oder

  • !module-name

 

In der ersten Form werden die nachfolgenden Direktiven abgearbeitet, wenn das Module Bestandteil des Apache-Servers ist, in der zweiten Form genau dann, wenn es NICHT Bestandteil des Apache-Servers ist.

Beispiel:
Im .htaccess-File wird vereinbart

<IfModule    mod_auth.c>
    AuthName " 'Interna' "
    AuthType Basic
    AuthUserFile /srv/www/virtual/www.mein-name.ch/htdocs/.htpasswd
    require valid-user
</IfModule>
  • htaccess
  • 2 Benutzer fanden dies hilfreich
War diese Antwort hilfreich?

Verwandte Beiträge

Webserver, virtual Root (vroot) oder dedizierter Root?

Der "Webserver" (Mikro, Mini, Profi)Eher unflexibel aber dafür kostengünstig. Die Webserver...

Wie erstellt man einen Kennwortschutz für seine Website?

Als Webserver-Betreiber hat man die Möglichkeit, Direktiven (.htaccess) so zu setzen, dass der...

Warum erscheint die erste (die Haupt-) Seite nicht automatisch?

Der Server sucht in jedem Verzeichnis nach einer Datei "index.html", "index.htm" oder...

Verzeichnisinhalt erscheint nicht - Fehler 403?

Möchte man den Inhalt der Verzeichnisses anzeigen lassen (Index) so muss dies erlaubt werden:...

Wie benutze ich die Indexierung?

Wenn in einem Verzeichnis eines Webservers keine index.html (.php .htm) Datei ist, so wird...