Hi,
- Hat jemand vielleicht schon mal erfolgreich
mod_headers eingesetzt, um den Inhalt der HTTP-Header
eines CGI-Skripts (!) nachträglich zu beeinflussen?
Hängt möglicherweise an der Reihenfolge der Module?
Hm, ich nehme die Reihenfolge, welche APACI standardmäßig vorgibt ... ich lade keine Module, ich habe alles fest eincompiliert.
Im Zweifelsfall ein Script oder Binary
davorschalten, welches das eigentliche CGI selbst
fork&exec'd.
Ausgabe absaugen und Header veraendern.
Im Grunde nichts, was der Apache nicht auch machen
wuerde... Unter Unix.
Das kann ich aber leider auch nicht machen. Das Binary generiert HTML-Code, in welchem Links auf sich selbst hart eincodiert sind. Ich müßte die generierten Dokumente parsen und on the fly umschreiben ... weia.
Ich kann das Ding auch nicht einfach per exec aufrufen, weil es eine HTTP-Umgebung braucht (u. a. einen Cookie und die üblichen CGI-Environment-Variablen wie PATH_TRANSLATED).
Ich _kann_ es aus einem eigenen CGI-Skript per LWP::UserAgent aufrufen und ihm diese Umgebung emulieren (das habe ich sogar schon fertig hier herum liegen, es nützt mir bloß wenig), das ist aber ein Riesenaufwand und alles andere als performant ...
Wenn mod_headers einfach das tun würde, was es laut Handbuch tun soll, wäre ich wunschlos glücklich.
Ich habe allerdings den Eindruck, daß die von einer CGI-Anwendung (besser? ;-) erzeugten HTTP-Header zum Zeitpunkt des Eingriffs von mod_headers (noch?) nicht im selben Apache-internen Puffer stehen wie diejenigen, welche der Apache selbst hinzufügt ... deshalb funktioniert beispielsweise auch das Verschmelzen von Headern ("Header append") nicht mit diesen Headern, sondern es werden eben Header doppelt erzeugt.
Viele Grüße
Michael