Hi Matti,
Im Endeffekt wäre meine Lösung sowas wie das SSI-
Modul, dass die Dateien parst und und Strings
ersetzt. Das gleicht Michaels Lösung: bis auf die
Tatsache, das er einen Handler als User einsetzt
und meine Lösung auf Apache-Konfiguartions ebene
stattfindet - neustarten des Servers inklusive.
Deswegen sollte es auch schneller sein (wie bei
httpd.conf <-> .htaccess).
langsam ist meine Methode vor allem, weil mein Handler
immer wieder neu geladen werden muß.
Ein Handler, der bereits im Apache-Code drin steckt
und noch dazu aus kompiliertem C-Code besteht statt
aus interpretiertem Perl, ist natürlich erheblich
schneller.
Modul ist das, was zB SSI ist (oder ist SSI auch ein
Handler ?).
mod_includes enthält zumindest auch einen Handler:
AddHandler server-parsed .shtml
(aus httpd.conf)
Wäre nett, wenn mich in dieser Hinsicht jemand
aufklären könnte.
mod_includes ist zunächst einmal ein Modul.
Ein Apache-Modul besteht aus einer variablen Anzahl
unterschiedlichsten Code-Stücken, die über verschie-
dene Mechanismen ("hooks") vom Apache-Basis-Code
eingebunden werden.
Ein Typ von Code-Stück ist beispielsweise eine Funktion
zur Analyse und Auswertung einer Konfigurations-
Direktive. Jedes Modul lädt seine eigenen Direktiven-
Parser und baut seinen eigenen Konfigurations-Record
auf; wenn Du ein Modul nicht geladen hast, aber Direk-
tiven zu diesem Modul in der httpd.conf stehen, dann
gibt das Syntaxfehler und der Apache läßt sich gar
nicht neu starten.
Andere Code-Stücke wiederum sind die Handler. Sowohl
SSI als auch CGI enthalten u. a. auch einen solchen
Handler, der allerdings über eine interne Apache-API
versorgt wird - und deshalb sehr viel mehr kann und
darf als ein Handler, der lediglich via "Action" oder
"SetHandler" eingebunden wurde.
Und mod_include enthält nun beides - sowohl einen
Handler als auch eine Handvoll Direktiven-Parser.
Der Handler kann auf die von den Direktiven-Parsern
aufgebauten Konfigurations-Datensätze zugreifen und
somit erkennen, was er tun darf, soll und muß.
Es gibt wohl noch weitere Arten von Code-Stücken -
ich habe das Apache-Modul-API bisher erst teilweise
verstanden.
Falls Dich Details interessieren, dann lies mal den
Quelltext von "mod_example" - das ist ein ganz bewußt
zum Lernen mitgeliefertes Spiel-Modul, das nichts
anderes tut, als Meldungen auszugeben, wann welche
seiner Funktionen aufgerufen wurde, das Beispiel-
Direktiven implementiert usw.
Es gibt im Apache-Developer-Bereich auch eine Doku
zu diesem Modul-API ...
Ich habe mir mit Standard den Apache mit nur der
Grunddistribution an Modulen vorgestellt.
Welche Distribution? Irgend eine aufgepumpte von
irgend einem Linux-Distrubutor (igitt), oder die-
jenige, die beim Original-Download des Quelltextes
mit "./configure" ohne weitere Parameter entstehen
würde? Letztere würde ich als "den Standard" ansehen
- wenn überhaupt.
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael