Thomas Tschernich: Apache: verzeichnisweise Scripts deaktivieren

Halloho liebe selfhtml-Gemeinde,

Wie ist es möglich, möglichst schon in einer Konfigurationsdatei und nicht in einer .htaccess für ein bestimmtes Verzeichnis

  1. das Ausführen von sämtlichen Scripts zu verhindern (php/cgi/whatever), also das sämtliche Files unabhängig von ihrer Endung oder ihrem mime-type unverändert an den Client ausgeliefert werden,
  2. eine .htaccess in diesem Verzeichnis zu ignorieren und
  3. das Auflisten des Verzeichnisinhalts, falls die verlangte Datei nicht gefunden wird, zu aktivieren?

Punkt 2) und 3) sollte durch

<Directory /usr/local/httpd/htdocs/dir123>
  AllowOverride None
  Options Indexes
</Directory>

realisierbar sein, damit sind auch CGIs verboten. Wie ich nun aber explizit PHP verbiete (welches als Modul eingebunden ist) ist mir leider nicht ganz klar.

  1. Hallo,

    <Directory /usr/local/httpd/htdocs/dir123>
      AllowOverride None
      Options Indexes
    </Directory>

    realisierbar sein, damit sind auch CGIs verboten. Wie ich nun aber explizit PHP verbiete (welches als Modul eingebunden ist) ist mir leider nicht ganz klar.

    Nunja, für PHP als Modul alleine:

    <Directory /usr/local/httpd/htdocs/dir123>  
      AllowOverride None  
      Options Indexes  
      php_flag engine Off  
    </Directory>
    

    Für andere Module wird's etwas komplizierter, im Zweifel den Endungen einen MIME-Type (per AddType) zuweisen, der NICHT von dem Modul verarbeitet wird und alle Handler entfernen (per RemoveHandler).

    Viele Grüße,
    Christian