hola: PHP ausführen

Hola!

Folgenden Eintrag habe ich in meiner httpd.conf:

Alias /bla "E:\Verz"

<Directory "E:/Verz">
     Order Allow,Deny
     Allow from all
     Options Indexes MultiViews
     AllowOverride All

HeaderName /server/Apache/header.htm
     ReadmeName /server/Apache/footer.htm
     IndexOptions FancyIndexing FoldersFirst SuppressHTMLPreamble HTMLTable
</Directory>

Das funktioniert wunderschön: Beim Aufruf von http://servername/bla bekomme ich eine FancyIndexed-Seite, wo oben mein header.htm und unten mein footer.htm steht, und ich kann alles mit CSS gestalten, etc. etc..

Nun habe ich jedoch unter dem Verzeichnis E:\Verz 640 Unterordner, und ich möchte wohl kaum für jeden einzelnen eine header.htm-Datei ablegen  (ich habe in dieser den Ordnername groß stehen). Was bietet sich also mehr an, als eine header.php zu erstellen, die dynamisch den Ordnernamen ausgibt ?

Das ist eigentlich kein Problem, denke ich mir. Falsch gedacht !
Bei
  HeaderName /server/Apache/header.php
und einer korrekten header.php baut Apache header.php _nicht_ vor sein e selbstgenerierte Ordnerübersicht.
In der Apache-Doku steht, man soll noch
  AddType text/html .php
hinschreiben, wenn man eine CGI-Anwendung aufrufen will, aber bei

AddType text/html .php
  HeaderName /server/Apache/header.php

gibt Apache alle PHP-Dateien auf dem Webserver ohne sie an php weiterzugeben aus - sprich er gibt alle PHP-Dateien "ungeparst" aus.

Also, damit scheine ich auf dem Holzweg zu sein - wie gibt es abhilfe ? Wie kann ich eine PHP-Datei als "Header" über die dynamisch generierten Ordner-Indexe einbinden ?

vielen dank,
hola

  1. In der Apache-Doku steht, man soll noch
      AddType text/html .php
    hinschreiben, wenn man eine CGI-Anwendung aufrufen will, aber bei

    das reicht noch nicht. damit sagst du dem apachen lediglich dass es einen neuen dateityp mit der endung .php gibt. du musst ihm aber auch sagen was er denn damit machen soll, falls ihm eine solche datei unterkommt. dabei gibts zwei möglichkeiten: entweder du nutzt php als cgi-executable, oder du bindest es als modul ein. ich würde die zweite methode empfehlen, weil als executable für jeden php-request ein neuer prozess gestartet wird, was deinen webserver schnell ans limit bringen kann.

    besorge dir die dll´s und füge in deiner httpd.conf nach den LoadModule-anweisungen das folgende ein:

    LoadFile "..pfad../php4ts.dll"
    LoadModule php4_module "..pfad../php4apache2.dll"

    das ganze gilt für windows, unter linux haben die module die endung *.so

    ausserdem sind php-files nicht vom typ text/html, sondern:

    AddType application/x-httpd-php .php .php4 .php3

    gruss aus berlin, volker