Zeromancer: Apache - 404-Seiten

Hallo,

mein Apache 2 zum lokalen testen liefert keine eigenen Fehlerseiten mehr aus, stattdessen kommt die browserspezifische Fehler-Seite. Wo muss ich ansetzen, um dies zu ändern?

In meiner .htaccess steht folgendes:

ErrorDocument 400 /impressum/fehler_404.shtml
ErrorDocument 401 /impressum/fehler_404.shtml
ErrorDocument 402 /impressum/fehler_404.shtml
ErrorDocument 403 http://www.domain.tld/impressum/fehler_403.shtml
ErrorDocument 404 /impressum/fehler_404.shtml
ErrorDocument 403 /impressum/fehler_404.shtml
ErrorDocument 405 /impressum/fehler_404.shtml
ErrorDocument 410 /impressum/fehler_404.shtml
ErrorDocument 500 /impressum/fehler_404.shtml

Ja, ich habe fast überall die die 404-Seite eingefügt. Sollte doch aber erst mal nicht fehlerrelevant sein, oder?

Mit freundlichen Grüßen

André

  1. Hi,

    mein Apache 2 zum lokalen testen liefert keine eigenen Fehlerseiten mehr aus, stattdessen kommt die browserspezifische Fehler-Seite. Wo muss ich ansetzen, um dies zu ändern?

    Du verwendest den IE? Und hast dort die falsche Einstellung für "freundliche" Fehlermeldungen?

    Warum benutzt Du bei 403 einen Redirect, der dafür sorgt, daß der Client keinen Fehlercode bekommt?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo Andreas,

      Du verwendest den IE? Und hast dort die falsche Einstellung für "freundliche" Fehlermeldungen?

      ich benutze den IE, Opera 7.54 und den FF 1 zum testen und bei allen habe ich dieses Problem. Sobald die Seiten online stehen, funktioniert die individuelle Fehlerseite problemlos.

      Warum benutzt Du bei 403 einen Redirect, der dafür sorgt, daß der Client keinen Fehlercode bekommt?

      Kann dir grad nicht folgen. Es sollte doch die fehler_403.shtml aufgerufen werden, die einen Hinweis auf den Passwortschutz enthält? (vgl.: http://www.symweb.de/glossar/fehler-403__281.htm) Welche Vorgehensweise wäre denn richtig?

      Vielen Dank schon mal.

      Mit freundlichen Grüßen

      André

      1. Hi,

        Du verwendest den IE? Und hast dort die falsche Einstellung für "freundliche" Fehlermeldungen?

        ich benutze den IE, Opera 7.54 und den FF 1 zum testen und bei allen habe ich dieses Problem. Sobald die Seiten online stehen, funktioniert die individuelle Fehlerseite problemlos.

        Aha - dann ist Dein lokaler Apache falsch konfiguriert.
        Was steht unter AllowOverride in der httpd.conf?

        Warum benutzt Du bei 403 einen Redirect, der dafür sorgt, daß der Client keinen Fehlercode bekommt?
        Kann dir grad nicht folgen. Es sollte doch die fehler_403.shtml aufgerufen werden, die einen Hinweis auf den Passwortschutz enthält? (vgl.: http://www.symweb.de/glossar/fehler-403__281.htm) Welche Vorgehensweise wäre denn richtig?

        Mach es bei 403 im Prinzip genauso wie bei den anderen Statuscodes. Nur halt mit anderer Datei.
        Guck Dir nochmal genau an, was bei 403 anders ist als bei den anderen Codes. Es ist nicht nur die 403 statt der 404.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo Andreas,

          Was steht unter AllowOverride in der httpd.conf?

          None

          Mach es bei 403 im Prinzip genauso wie bei den anderen Statuscodes. Nur halt mit anderer Datei.
          Guck Dir nochmal genau an, was bei 403 anders ist als bei den anderen Codes. Es ist nicht nur die 403 statt der 404.

          Naja, es gibt eine Menge Tutorials dazu. Werde mal gucken. Eine Frage noch: Welchen Fehlercode _muss_ ich per

          http://www.domain.tld/fehlercode.html

          statt

          /fehlercode.html

          referenzieren? Die Anweisungen im Netz unterscheiden sich dort häufig. Ich glaube mich erinnern zu können, dass man einen Fehlercode unbedingt mit

          http://www.domain.tld/fehlercode.html

          referenzieren _mußte_ .

          Mit freundlichen Grüßen

          André

          1. Hi,

            Was steht unter AllowOverride in der httpd.conf?
            None

            Dann kann in einer .htaccess auch genau gar nichts konfiguriert werden.

            Mach es bei 403 im Prinzip genauso wie bei den anderen Statuscodes. Nur halt mit anderer Datei.
            Guck Dir nochmal genau an, was bei 403 anders ist als bei den anderen Codes. Es ist nicht nur die 403 statt der 404.
            Naja, es gibt eine Menge Tutorials dazu. Werde mal gucken. Eine Frage noch: Welchen Fehlercode _muss_ ich per
            http://www.domain.tld/fehlercode.html
            statt
            /fehlercode.html
            referenzieren? Die Anweisungen im Netz unterscheiden sich dort häufig. Ich glaube mich erinnern zu können, dass man einen Fehlercode unbedingt mit
            http://www.domain.tld/fehlercode.html
            referenzieren _mußte_ .

            Nein - genau das mit der absoluten URL sollte man immer vermeiden, weil das eben dazu führt, daß der Client keinen Fehlercode zu sehen bekommt.
            Bei 401 darf sogar keine absolute URL verwendet werden.
            Serverrelative URLs sind dagegen empfehlenswert, da sie unabhängig von der Verzeichnistiefe der fehlerhaften URL funktionieren.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hallo,

              Dann kann in einer .htaccess auch genau gar nichts konfiguriert werden.

              Du wolltest damit sagen, dass ich ich "none" durch "all" ersetzen soll?

              Serverrelative URLs sind dagegen empfehlenswert, da sie unabhängig von der Verzeichnistiefe der fehlerhaften URL funktionieren.

              Nun gut, dann werde ich mal lesen.

              Vielen Dank.

              Mit freundlichen Grüßen

              André

              1. Hi,

                Du wolltest damit sagen, dass ich ich "none" durch "all" ersetzen soll?

                Nö. Durch einen geeigneten Wert. Ob das "all" ist, wage ich zu bezweifeln - ich würde nicht mehr als nötig freigeben.

                cu,
                Andreas

                --
                Warum nennt sich Andreas hier MudGuard?
                Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          2. hallo André,

            Was steht unter AllowOverride in der httpd.conf?
            None

            Woher weißt du das? Hast du Zugriff auf diesen Container und kannst du das ändern?

            Naja, es gibt eine Menge Tutorials dazu. Werde mal gucken.

            Ich darf dir in aller Bescheidenheit zusätzlich ein dir natürlich längst bekanntes Kapitel empfehlen?

            Eine Frage noch: Welchen Fehlercode _muss_ ich per
            http://www.domain.tld/fehlercode.html
            statt
            /fehlercode.html
            referenzieren?

            Gar keinen oder einen beliebigen.

            Die Anweisungen im Netz unterscheiden sich dort häufig. Ich glaube mich erinnern zu können, dass man einen Fehlercode unbedingt mit
            http://www.domain.tld/fehlercode.html
            referenzieren _mußte_ .

            Dann ist dir zu raten, die entsprechende Hilfeseite nie wieder zu konsultieren.

            Grüße aus Berlin

            Christoph S.

            1. Hallo Christoph,

              Was steht unter AllowOverride in der httpd.conf?
              None
              Woher weißt du das? Hast du Zugriff auf diesen Container und kannst du das ändern?

              Es ist mein lokaler Apache.

              Ich darf dir in aller Bescheidenheit zusätzlich ein dir natürlich längst bekanntes Kapitel empfehlen?

              Du darfst. ;-)

              Dann ist dir zu raten, die entsprechende Hilfeseite nie wieder zu konsultieren.

              Nun nehmen wir mal den Fall an, dass eine Google-Suche eine Menge Anleitungen ergibt und mir die Anweisungen bei Apache.org zu schwer sind. Was soll ich denn zu folgenden Auskünften sagen, wenn ich überall was anderes lese?

              Beispiele? Klar!

              1.)
              http://www.netconcept24.de/nuetzliches/tutorials/tutorial2.php?sess=
              ErrorDocument 404 http://www.IhreWebseite.de/fehler404.html
              ErrorDocument 403 http://www.IhreWebseite.de/fehler403.html
              ErrorDocument 500 http://www.IhreWebseite.de/fehler500.html
              ErrorDocument 401 /fehler401.html
              [...]
              Wichtig ist, dass bei dem Fehler 401 ("Authorization Required") keine volle URL angegeben wird.

              2.)
              http://www.exine.de/server/fehlerseite_individuell.htm
              ErrorDocument 404 http://www.exine.de/error.html
              ErrorDocument 403 http://www.exine.de/error.html
              ErrorDocument 500 http://www.exine.de/error.html

              3.)
              http://www.webmaster-resource.de/tricks/design/fehlerseiten.php
              ErrorDocument 400 /fehler.html
              ErrorDocument 401 /fehler.html
              ErrorDocument 402 /fehler.html
              ErrorDocument 403 /fehler.html
              ErrorDocument 404 /fehler.html
              ErrorDocument 500 /fehler.html
              Bitte beachten Sie, dass in der Datei alle Links absolut notiert sein müssen (z.B. http://www.webmaster-resource.de/index.php)
              Diese Liste könnte ich nun weiterführen, zeigt aber hoffentlich, dass ich mir schon Gedanken mache und nur mal eine zielführende Antwort brauche.

              Vielen Dank an dich und Andreas.

              Mit freundlichen Grüßen

              André

              1. Hi,

                Beispiele? Klar!
                1.)
                http://www.netconcept24.de/nuetzliches/tutorials/tutorial2.php?sess=
                ErrorDocument 404 http://www.IhreWebseite.de/fehler404.html
                ErrorDocument 403 http://www.IhreWebseite.de/fehler403.html
                ErrorDocument 500 http://www.IhreWebseite.de/fehler500.html
                ErrorDocument 401 /fehler401.html
                [...]
                Wichtig ist, dass bei dem Fehler 401 ("Authorization Required") keine volle URL angegeben wird.

                Das zeugt davon, daß der Schreiberling wenig Ahnung hat und sich über die Konsequenzen der absoluten URLs der Fehlerdokumente nicht im Klaren ist.

                2.)
                http://www.exine.de/server/fehlerseite_individuell.htm
                ErrorDocument 404 http://www.exine.de/error.html
                ErrorDocument 403 http://www.exine.de/error.html
                ErrorDocument 500 http://www.exine.de/error.html

                dito.

                3.)
                http://www.webmaster-resource.de/tricks/design/fehlerseiten.php
                ErrorDocument 400 /fehler.html
                ErrorDocument 401 /fehler.html
                ErrorDocument 402 /fehler.html
                ErrorDocument 403 /fehler.html
                ErrorDocument 404 /fehler.html
                ErrorDocument 500 /fehler.html

                Schon besser. Immerhin sind die Fehlerdokumente lokal, so daß der Client die korrekten Fehlercodes bekommt.

                Bitte beachten Sie, dass in der Datei alle Links absolut notiert sein müssen (z.B. http://www.webmaster-resource.de/index.php)

                Aber auch hier falsch. Selbstverständlich funktionieren auch server-relative Links.

                Diese Liste könnte ich nun weiterführen, zeigt aber hoffentlich, dass ich mir schon Gedanken mache und nur mal eine zielführende Antwort brauche.

                Am sinnvollsten ist es, erstmal in der Doku der verwendeten Software nachzugucken, also im Apache-Manual.
                Wenn Du das nicht in der httpd.conf geändert hast, sollte das unter http://localhost/manual/ auf Deinem Rechner aufrufbar sein ...

                cu,
                Andreas

                --
                Warum nennt sich Andreas hier MudGuard?
                Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              2. pffffff ...

                Nun nehmen wir mal den Fall an, dass eine Google-Suche eine Menge Anleitungen ergibt und mir die Anweisungen bei Apache.org zu schwer sind. Was soll ich denn zu folgenden Auskünften sagen, wenn ich überall was anderes lese?

                Ganz einfach: du sollst das elfte Gebot befolgen und dich im SELF-Raum umschauen.

                Beispiele?

                oha. Ich habe, wenn auch zugegebenermaßen flüchtig, mal auf diese Beispiele geschaut. Sie sind gewiß alle gut gemeint. Ich empfehle trotzdem, sie auf eine persönliche Blacklist zu setzen. Gelegentliches Nachlesen schadet nicht, aber man sollte die dort gegebenen Ratschläge nicht ungeprüft übernehmen. Das sollte man eh niemals tun, und ich nehme gerne die Gelegenheit wahr, das Gebot, niemals etwas ungeprüft zu übernehmen, auch auf meinen Artikel anzuwenden.

                Grüße aus Berlin

                Christoph S.