the-FoX: Automatisches Includen eines Headers

Hallo alle zusammen,

ich möchte gern meinen Apache dazu bringen, vor jeder HTML-Seite, die er ausgibt einen Header auszugeben, bzw. mit Header meine ich ein "Fetzen" HTML-Code, der in diesem Fall das Firmenlogo und ein kleines Menü mit den Hauptpunkten beinhaltet.

Der obere teil soll quasi reingeparst werden.

Ich möchte aber auch nciht in jedes Verzeichnis eine entsprechende index.shtml oder sonstwas anlegen müssen, die diesen Teil included.

Deshalb meine Frage:
Kann man das beim Apache einstellen oder mittels htaccess-Datei festlegen ?

Danke schon mal für Eure Hilfe

Ciao the-FoX

  1. ich möchte gern meinen Apache dazu bringen, vor jeder HTML-Seite, die er ausgibt einen Header auszugeben, bzw. mit Header meine ich ein "Fetzen" HTML-Code, der in diesem Fall das Firmenlogo und ein kleines Menü mit den Hauptpunkten beinhaltet.

    Kann man das beim Apache einstellen oder mittels htaccess-Datei festlegen ?

    Du musst dem Server schon sagen, wo er was reinschreiben soll. Und genau dazu ist die Server Side Includes-Methode da (siehe: http://httpd.apache.org/docs/mod/mod_include.html).

    Gruß,
      soenk.e

  2. Hi FoX,

    Der obere teil soll quasi reingeparst werden.
    Ich möchte aber auch nicht in jedes Verzeichnis eine entsprechende
    index.shtml oder sonstwas anlegen müssen, die diesen Teil included.
    Kann man das beim Apache einstellen oder mittels htaccess-Datei
    festlegen ?

    Was Du willst, ist, den Standard-Dokument-Auslieferungs-Handler des
    Apache durch einen eigenen Handler zu ersetzen.

    Dieser Handler kann ein im Apache vordefinierter Handler sein (SSI
    wäre ein solcher), aber auch ein ganz normales CGI-Skript!
    Dieses bindest Du an Deine auszuliefernden Dokumente - ob über einen
    Dokumenttyp (Action) oder über eine Dokumentmenge (SetHandler), das
    hängt von Deiner Baumstruktur etc. ab, da hast Du viele Möglichkeiten.

    Ein solcher Handler wird aufgerufen mit den Environment-Variablen

    • PATH_INFO       (dem URL der Anforderung) und
    • PATH_TRANSLATED (dem bereits aufgelösten Pfadnamen der Datei -
        Directory Defaulting ist zu diesem Zeitpunkt bereits umgesetzt).
      Du kannst also in Deinem CGI-Skript machen, was Du willst - insbeson-
      dere kannst Du den Inhalt der Datei einlesen, beliebig umschreiben,
      ausgeben, selbst irgendwelche Protokolldateien schreiben oder was auch
      immer.

    Und das "Einklinken" des Handlers geht in der Tat auch über .htaccess

    • falls das entsprechende Teil-Feature dort per "AllowOverride" frei-
      gegeben ist.

    Tja, das war nun der halbe Feature-Artikel, den ich eigentlich als
    nächstes schreiben sollte ...

    Viel Spaß beim Basteln
         Michael

  3. use Mosche;

    ich möchte gern meinen Apache dazu bringen, vor jeder HTML-Seite, die er ausgibt einen Header auszugeben, bzw. mit Header meine ich ein "Fetzen" HTML-Code, der in diesem Fall das Firmenlogo und ein kleines Menü mit den Hauptpunkten beinhaltet.

    Deshalb meine Frage:
    Kann man das beim Apache einstellen oder mittels htaccess-Datei festlegen ?

    Du hast die Möglichkeit, das Modul Apache::Sandwich zu benutzen. Damit hast du in einer .htaccess Datei (oder in der httpd.conf) die Möglichkeit, einen Seiten Header und Footer anzugeben. Der Apache nimmt die Ausgabe der Datei (das kann auch mit SSI verknüpft werden) und hängt einfach nur den Kopf und den Fuß dran, also genau das, was du willst. Du wirst es aber wohl selber installieren müssen, ist also nur was bei einem eigenen Server.

    use Tschoe qw(Matti);