spookie: error 404 abfangen

hallo allerseits.

ich hoffe, hier kann mir jemand weiterhelfen.

ich arbeite lokal auf meinem rechner mit dem apache an einem projekt.

das projekt hat eine .htaccess mit folgendem inhalt:

Options FollowSymLinks
ErrorDocument 404 /missing.html

die missing.html existiert.

wenn ich absichtlich ein dokument aufrufe, das nicht existiert, dann erscheint aber nicht die missing.html.

warum nicht?
muss da in der httpd.conf noch etwas geändert werden?
und wenn ja was?

danke

spookie

  1. hallo allerseits.

    ich hoffe, hier kann mir jemand weiterhelfen.

    ich arbeite lokal auf meinem rechner mit dem apache an einem projekt.

    das projekt hat eine .htaccess mit folgendem inhalt:

    Options FollowSymLinks
    ErrorDocument 404 /missing.html

    die missing.html existiert.

    wenn ich absichtlich ein dokument aufrufe, das nicht existiert, dann erscheint aber nicht die missing.html.

    warum nicht?
    muss da in der httpd.conf noch etwas geändert werden?
    und wenn ja was?

    danke

    spookie

    Hallo spookie,

    vielleicht ist da irgendetwas im Verzeichnis falsch?

    Grüße,

    ein ratloser Wolfram

    1. Hi,

      vielleicht ist da irgendetwas im Verzeichnis falsch?

      in der selben .htaccess habe ich auch rewrite rules, die  funktionieren...

      mfg spookie

  2. Hallo spookie,

    muss da in der httpd.conf noch etwas geändert werden?
    und wenn ja was?

    wie ist AllowOverride gesetzt?

    Grüße aus Nürnberg
    Tobias

    1. Hallo Tobias!

      wie ist AllowOverride gesetzt?

      Um welches AllowOverride handelt es sich?
      Da sind so einige....

      Gruss,
      Spookie

      1. Hallo Spookie,

        wie ist AllowOverride gesetzt?
        Um welches AllowOverride handelt es sich?

        Um das das für das, das auf das betreffende Verzeichnis zuständig ist, natürlich :-)

        Grüße aus Nürnberg
        Tobias

        1. Hallo,

          Um welches AllowOverride handelt es sich?
          Um das das für das, das auf das betreffende Verzeichnis zuständig ist, natürlich :-)

          »

          Das müsste es sein:

          <Directory />
              Options FollowSymLinks
              # AllowOverride None
          </Directory>

          Gruss,
          Spookie

          1. Hallo Spookie,

            <Directory />
                Options FollowSymLinks
                # AllowOverride None
            </Directory>

            die Zeile in der das steht ist aber auskomentiert (frag mich nicht, welcher Wert für AllowOverride gilt, wenn keiner gesetzt ist, ich vermute aber mal fast "None"). Um ErrorDocument in .htaccess-Dateien nutzen zu können, muss aber mindestens AllowOverride FileInfo gesetzt sein, siehe http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride.

            Grüße aus Nürnberg
            Tobias

            1. hi,

              (frag mich nicht, welcher Wert für AllowOverride gilt, wenn keiner gesetzt ist, ich vermute aber mal fast "None").

              steht doch auf der von dir verlinkten seite,

              http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride

              "Voreinstellung: AllowOverride All"

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. hallo,

    wenn ich absichtlich ein dokument aufrufe, das nicht existiert, dann erscheint aber nicht die missing.html.

    Sondern was erscheint da? Und was steht in deinen logs?

    muss da in der httpd.conf noch etwas geändert werden?

    Wahrscheinlich nicht, vorausgesetzt, der Pfad zu /missing.html ist korrekt. Du solltest aber mal mit einem anderen Browser als mit dem Internet Explorer nachschauen, ob du sie dann immer noch nicht angezeigt bekommst.

    Ansonst wärs ganz hilfreich, wenn du die Apache-Version, die du installiert hast, angeben wolltest.

    Grüße aus Berlin

    Christoph S.

    1. Hi Christoph,

      [...] Du solltest aber mal mit einem anderen Browser als mit dem Internet Explorer nachschauen, ob du sie dann immer noch nicht angezeigt bekommst.

      das liegt nicht am browser, weil das alles serverseitig passiert. der browser merkt davon (fast) nix.

      Gruß, Marian

      1. puts "Hallo " + gets.chomp + "."

        ?> Marian
        => Hallo Marian.

        [...] Du solltest aber mal mit einem anderen Browser als mit dem Internet Explorer nachschauen, ob du sie dann immer noch nicht angezeigt bekommst.

        das liegt nicht am browser, weil das alles serverseitig passiert. der browser merkt davon (fast) nix.

        Leider nicht richtig. Der IE hat viele Macken.
        Dazu zählt unter Anderem auch die, dass er sein eigenes nichts sagendes ErrorDocument verwendet, wenn das eigentliche eine zu geringe Dateigröße hat. (Klingt komisch, ist aber IE.)

        Einen schönen Freitag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
        Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
      2. hallo Marian,

        das liegt nicht am browser, weil das alles serverseitig passiert. der browser merkt davon (fast) nix.

        Das ist ein Irrtum. Der Internet Explorer verlangt, daß das Error-Dokument mindestens 512 Byte groß ist. Wenn du ein Error-Dokument schreibst, in dem vielleicht nur ein kurzer Text steht: "huhu, hier ist was verkehrt" ist dem IE das zu wenig. Andere Browser stellen das dar, aber der IE nimmt seine eigene Fehlerseite "Die Seite kann nicht angezeigt werden".

        Grüße aus Berlin

        Christoph S.

        1. Hi christoph,

          das liegt nicht am browser, weil das alles serverseitig passiert. der browser merkt davon (fast) nix.

          Das ist ein Irrtum. Der Internet Explorer verlangt, daß das Error-Dokument mindestens 512 Byte groß ist. Wenn du ein Error-Dokument schreibst, in dem vielleicht nur ein kurzer Text steht: "huhu, hier ist was verkehrt" ist dem IE das zu wenig. Andere Browser stellen das dar, aber der IE nimmt seine eigene Fehlerseite "Die Seite kann nicht angezeigt werden".

          so ein schwachsinn, da sieht man mal wie bescheuert der scheiß-ie ist.
          FIREFOX!!!!!!

          Gruß, Marian

        2. hi,

          Der Internet Explorer verlangt, daß das Error-Dokument mindestens 512 Byte groß ist.

          zusätzlich muss m.W. in den internet optionen unter erweitert die option "kurze HTTP fehlermeldungen anzeigen" deaktiviert sein - sonst kannst du in die fehlerseite reinschreiben, so viel du willst, und der IE ignoriert's trotzdem ...

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. hallo wahsaga,

            zusätzlich muss m.W. in den internet optionen unter erweitert die option "kurze HTTP fehlermeldungen anzeigen" deaktiviert sein

            Ich habe eben mal nachgesehen - nein, ist bei mir aktiviert. Aber natürlich gibts das beschriebene Verhalten. Meine lokale Fehlerseite ist etwas größer, hat eine 7 KB große Grafik, und wird auch vom IE angezeigt.

            Grüße aus Berlin

            Christoph S.

            1. hi,

              zusätzlich muss m.W. in den internet optionen unter erweitert die option "kurze HTTP fehlermeldungen anzeigen" deaktiviert sein

              Ich habe eben mal nachgesehen - nein, ist bei mir aktiviert. Aber natürlich gibts das beschriebene Verhalten. Meine lokale Fehlerseite ist etwas größer, hat eine 7 KB große Grafik, und wird auch vom IE angezeigt.

              OK, dann ist das verhalten andersherum - wenn ich die option aktiviert habe, bekomme ich meine fehlerseite ( << 512 byte) nicht angezeigt - wenn ich sie deaktiviere aber schon.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Hi spookie,

    ErrorDocument 404 /missing.html
    die missing.html existiert.
    wenn ich absichtlich ein dokument aufrufe, das nicht existiert, dann erscheint aber nicht die missing.html.

    die missing.htm muss im root-verzeichnis von deinem server liegen (wahrscheinlich htdocs), also localhost/missing.htm

    Gruß, Marian

    1. hallo Marian,

      die missing.htm muss im root-verzeichnis von deinem server liegen (wahrscheinlich htdocs), also localhost/missing.htm

      Nicht unbedingt. Wo sie liegen soll, kann man in der httpd.conf festlegen, siehe http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf16.htm#a3

      Grüße aus Berlin

      Christoph S.