AlexBausW: HTTP-Header von shtml-Datei ausgeben lassen

Hallo Forum,

Ich hätte da mal eine Frage ;-)
Ich möchte auf einem Apache Server (Apache/1.2.6 BSafe-SSL/1.1 FrontPage/3.0.4.) den automatisch generierten HTTP-Header unterdrücken, um ihn von einem mit <!--excec cgi="/mainpfad/mainskript.pl" --> ausgeben zu können, da ich bei Bedarf einen Redirect mit { print "Location: http://url\n\n"; } durchführen will, der auf eine Datei mit angehängtem Query-String verweist
Im Moment habe ich in einer .htaccess folgendes stehen:

Options Indexes FollowSymLinks Includes
  AddType application/x-httpd-cgi .cgi
  # steht in httpd.conf als Handler für die Http-Header-Unterdrückung
  AddHandler send-as-is shtml
  AddHandler server-parsed shtml

wenn ich wie in der ApacheDocu (mod_asis) (mir steht leider nur die Doku für 1.3 zur Verfügung) empfohlen "AddType httpd/send-as-is shtml" hinzufüge, bietet mir der Browser die Datei zum Download an :-(

Die shtml-Datei sieht so aus:

Datei: shop.shtml
  Include: exec.cgi
  <!--#exec cgi="/cgi-bin/shop/shop.pl" -->

Die Überschriften verwende ich, um zu sehen was wo passiert :-) und sollte im Header eigentlich nichts ausmachen bzw. vom Browser ingoriert werden, oder? (den ssi-Befehl zuerst hatte auch nix geändert :-(

Im Skript unterscheide ich nur anhand von Parametern und leite um, falls keine vorhanden sind:

if (! $ENV{'QUERY_STRING'}) {
    # Status auskommentiert, sonst wird nicht umgeleitet
    print #"Status: 301 Moved Temporarily\n",
          "Location: $ENV{'DOCUMENT_URI'}?".rand()."\n",
          "Content-type: text/html\n",
          "\n";   # ein Zeilenumbruch, damit ich mit verschiedenen Headern experimentieren kann
    print "<br><b>Script: If</b> Hier soll die Umleitung stattfinden";
  }
  # Damit es keine Endlosweiterleitung gibt ;-)
  else {
    print "Status: 200 OK\n",
          "Content-Type: text/html\n\n";
    print "<br><b>Script: Else</b> Hier hat die Umleitung stattgefunden",
          "Document-Uri: $ENV{'DOCUMENT_URI'} + Query-String: $ENV{'QUERY_STRING'}";
  }

Den Inhalt gebe ich aus, um zu sehen ob der Header funktioniert.

Lokal auf meinem Apache 1.3.12 habe ich auch AddHandler und AddType hinzugefügt (was mir wieder den Download anbietet) aber es läuft genauso wie online:

Der Text der Datei wird ausgegeben und die SSI-Ausgabe "umgeleitet", d.h. die Datei nochmalausgegeben, mit dem Inhalt des else-Zweigs.
Zu begutachten ist das ganze unter http://ahnen.net/shop.shtml (Weiterleitung)
http://ahnen.net/shop.shtml?HalloWelt (Ohne Weiterleitung)

Wie bekomme ich es nun hin, daß meine Umleitung auf die Datei zeigt, und in der Adressleiste der Querystring erscheint? (Soll bei einem Shop auf beliebigen Unterseiten eine aktuelle Sessin-ID anhängen) Ist es die richtige Methode, den Servergenerierten HTTP-Header zu unterdrücken, und einen eigenen auszugeben, oder gibt es noch Möglichkeiten die ich nicht gesehen habe?

Schon mal vielen Dank im Voraus.

Gruß AlexBausW

P.S.: Ich hoffe ich hab` das nicht zu wirr erklärt ;-)

  1. Ich möchte auf einem Apache Server (Apache/1.2.6 BSafe-SSL/1.1 FrontPage/3.0.4.) den automatisch generierten HTTP-Header unterdrücken, um ihn von einem mit <!--excec cgi="/mainpfad/mainskript.pl" --> ausgeben zu können, da ich bei Bedarf einen Redirect mit { print "Location: http://url\n\n"; } durchführen will, der auf eine Datei mit angehängtem Query-String verweist

    Das ist nicht möglich, ohne auf ein anderes SSI Modul zurückzugreifen. Diese anderen Module erfordern dann aber v.1.3.x und eine rekompilierung des Apachen.