Thomas Mell: Problem mit ErrorDocument im Apache

Hallo,
ich arbeite mit 'ErrorDocument 404 /index.htm' in einer htaccess um beim Aufruf einer nicht existierenden Seite auf die Startseite weiterzuleiten. Das ganze funktioniert wunderbar wenn dies durch einen Browser ausgeführt wird.
Wenn aber z.B. der Googlebot daher kommt, bekommt dieser einen 404er präsentiert.
Dann habe ich mir für Testzwecke einen kleinen PHP-Script geschrieben, welcher mit "fopen()" eine nicht existierende Datei lädt. Auch hier wird nur der 404er Header zurückgegeben.
Meine Annahme geht dahin, das wenn der Apache im Header einen unbekannten (oder keinen) User-Agent findet, die 'ErrorDocument'-Angaben ignoriert. Liege ich da richtig? Wie kann man dieses Verhalten ändern ?

Viele Grüße und schönen Dank schon mal.
Thomas Mell

  1. Hi,

    Meine Annahme geht dahin, das wenn der Apache im Header einen unbekannten (oder keinen) User-Agent findet, die 'ErrorDocument'-Angaben ignoriert.

    die Realität geht dahin, dass im Falle eines 404 dieser auch geliefert wird, und dass die mitgeschickte Fehlerseite genauso aussieht wie Deine Startseite. Exakt das ist auch das einzig sinnvolle.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi Cheatah,

      die Realität geht dahin, dass im Falle eines 404 dieser auch geliefert wird, und dass die mitgeschickte Fehlerseite genauso aussieht wie Deine Startseite. Exakt das ist auch das einzig sinnvolle.

      Aber genau das tut er nicht, er schickt nur die Headerdaten (mit dem 404er Eintrag) aber keinen Content. Wie geagt, der Fehler tritt nur auf wenn man die Seite ohne Browser aufruft (z.B. per Script). Der Fehler tritt sowohl auf unseren internen Server (W2K, Apache) als auch "draussen" (Red Head, Apache) auf.

      Viele Grüße
      Thomas Mell

      1. Hi,

        Aber genau das tut er nicht, er schickt nur die Headerdaten (mit dem 404er Eintrag) aber keinen Content.

        auf welche Weise hast Du dies verifiziert?

        Wie geagt, der Fehler tritt nur auf wenn man die Seite ohne Browser aufruft (z.B. per Script).

        Beides sind Clients. Es existiert kein Unterschied.

        Der Fehler tritt sowohl auf unseren internen Server (W2K, Apache) als auch "draussen" (Red Head, Apache) auf.

        Vielleicht liegt das Problem an Deinem Browser?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. Hi Thomas,

        Aber genau das tut er nicht, er schickt nur die Headerdaten (mit dem 404er Eintrag) aber keinen Content.

        mit welcher Methode hat der Client auf Deinen Server zugegriffen?

        Für HEAD wäre das beobachtete Verhalten beispielsweise sinnvoll.

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
  2. hallo Thomas,

    Meine Annahme geht dahin, das wenn der Apache im Header einen unbekannten (oder keinen) User-Agent findet, die 'ErrorDocument'-Angaben ignoriert. Liege ich da richtig? Wie kann man dieses Verhalten ändern ?

    Mehr als das, was du natürlich bereits bei http://httpd.apache.org/docs-2.0/custom-error.html gelesen hast, könnte ich dir auch nicht sagen.

    Grüße aus Berlin

    Christoph S.