User since
2003-08-04
14371
Artikel
ModeratorIn
Einer der Projektleiter hier hat mich gefragt, ob es möglich ist das HTML eines CGI-Skripts vor der Ausgabe zu bearbeiten. Und zwar so, dass man nicht die hunderte von CGI-Skripte bearbeiten muss, sondern dass man vielleicht mit einem Befehl (das gibt es nicht) oder einem Modul (vielleicht was aus Apache::*) das CGI-Skript ausführt, aber bevor das HTML zum Browser geschickt wird noch bearbeitet werden kann.
Es ist kein mod_perl!
Perl 5.6.1
Apache 1.33
User since
2003-08-04
14371
Artikel
ModeratorIn
Um es vielleicht mal etwas zu skizzieren:
+-----------+ mit "normaler URL" +-------------+ +------------+
| Request | ----------------------> | Modul od. | -> | Browser |
+-----------+ | Skript | +------------+
+-------------+
| ^
Aufruf | | HTML
v |
+-------------+
| altes CGI- |
| Skript |
+-------------+
User since
2003-08-14
2022
Artikel
BenutzerIn
Du könntest ein Skript dazwischen hängen, aber nur wenn die Pfade für die Formulare nicht hart codiert sind. Elegant sieht es dann mit mod_rewrite aus, so als ob die CGIs nur in einem anderen Verzeichnis lägen. In Wahrheit wird aber der Wrapper aufgerufen, mit dem Zielskript als Parameter. Ansonsten evtl. was Apachen-spezifisches!?
User since
2003-11-28
3645
Artikel
ModeratorIn
Du meinst mod_proxy_html:
http://apache.webthing.com/mod_proxy_html/. Vorsicht, es ist nicht perfekt, ich habe schon unter dieser Software gelitten (Stichwort: utf8).
Oder man schreibt es selbst, das kann aber auch beliebig komplex werden.
User since
2003-08-04
14371
Artikel
ModeratorIn
Und wie schreibt man das selbst? /mod_proxy(_html)?/ schaue ich mir aber mal an...
User since
2003-11-28
3645
Artikel
ModeratorIn
Das Grundgerüst ist einfach: der Handler holt sich die HTML-Seite (die beispielsweise im PATH_INFO der URL stehen könnte) per LWP::UserAgent und ändert alle Links so, dass sie wieder auf den Handler zeigen und der echte Link wieder in PATH_INFO steht.
Der Teufel steckt aber im Detail, vieles muss bedacht werden und manches ist schlicht unmöglich (z.B. das Umschreiben von Links, die per Javascript erzeugt werden).