Andreas: "Globale" 404-Seite

Hallo,

wir betreiben einen Webserver (Apache) mit verschiedenen Kunden /-domains. Jedem Kunden ist es möglich, in seinem Verzeichnis eine 404.html oder 404.php anzulegen. Beim Erzeugen der httpd.conf (per Script) wird die Existenz einer der beiden Dateien überprüft und dann entsprechend eingebunden. So weit klappt alles bestens.

Jetzt würden wir aber gerne eine Standard-404 einbinden, falls der User keine 404.php oder 404.html hinterlegt hat. Dies sollte, wenn möglich, aber nicht über das Script geschehen. Also folgende Möglichkeit möchten wir _nicht_ verwenden:

prüfen ob 404.html oder 404.php

ja: in httpd.conf einbinden
nein: standard-404 einbinden

Das wollen wir nicht :)

Ich hab gelesen, dass man in der httpd.conf eine 404 angeben kann, die sozusagen "global" gilt. Kann hier jemand helfen? Hab leider nichts gefunden. Wie muss die Zeile aussehen?

Noch eine Frage: Bei einigen ISPs habe ich gesehen, dass die eine etwaige 404.html in der URL-Zeile des Browsers nicht auftaucht. Das ganze geschieht aber nicht über eine Frameset. Kann man das im Apache so einstellen, dass die 404.html zwar angezeigt wird, diese aber nicht in der URL-Zeile steht?!

Gruss,
Andreas

  1. hi,

    wir betreiben einen Webserver (Apache) mit verschiedenen Kunden /-domains.

    und kennen uns damit so gut aus, dass wir diese frage hier stellen müssen ...?

    die kindergartenhoster werden immer mehr ...

    Jedem Kunden ist es möglich, in seinem Verzeichnis eine 404.html oder 404.php anzulegen. Beim Erzeugen der httpd.conf (per Script) wird die Existenz einer der beiden Dateien überprüft und dann entsprechend eingebunden.

    erzeugen der httpd.conf? hat jeder kunde seinen eigenen webserver laufen?

    Jetzt würden wir aber gerne eine Standard-404 einbinden, falls der User keine 404.php oder 404.html hinterlegt hat. Dies sollte, wenn möglich, aber nicht über das Script geschehen.

    Ich hab gelesen, dass man in der httpd.conf eine 404 angeben kann, die sozusagen "global" gilt. Kann hier jemand helfen? Hab leider nichts gefunden. Wie muss die Zeile aussehen?

    dann such auf http://httpd.apache.org/docs/ danach.
    stichwort ErrorDocument ist ja hoffentlich wenigstens bekannt.

    wenn du _nicht_ für jeden kunden einen eigenen webserver(-prozess) laufen hast, mach einfach dort eine globale einstellung - und wenn der kunde sie überschreiben will, regle dies per htaccess - dafür sind die dinger doch schliesslich da.

    Noch eine Frage: Bei einigen ISPs habe ich gesehen, dass die eine etwaige 404.html in der URL-Zeile des Browsers nicht auftaucht. Das ganze geschieht aber nicht über eine Frameset. Kann man das im Apache so einstellen, dass die 404.html zwar angezeigt wird, diese aber nicht in der URL-Zeile steht?!

    da braucht man nicht viel einstellen - man muss sich nur des unterschiedes zwischen einer absoluten und einer relavtiven pfadangabe beim ErrorDocument bewusst sein.
    erstere erzeugt einen redirect auf die 404-datei, letztere nicht.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.