Ankündigung

Einklappen
Keine Ankündigung bisher.

htaccess - Error 404 funkt nur bei Verzeichnissen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • htaccess - Error 404 funkt nur bei Verzeichnissen

    Hallo

    meine htaccess sieht so aus:
    Code:
    ErrorDocument 200 https://www.autosattler.at/fehler.php?error=200
    ErrorDocument 302 https://www.autosattler.at/fehler.php?error=302
    ErrorDocument 400 https://www.autosattler.at/fehler.php?error=400
    ErrorDocument 401 https://www.autosattler.at/fehler.php?error=401
    ErrorDocument 403 https://www.autosattler.at/fehler.php?error=403
    ErrorDocument 404 https://www.autosattler.at/fehler.php?error=404
    ErrorDocument 500 https://www.autosattler.at/fehler.php?error=500
    ErrorDocument 503 https://www.autosattler.at/fehler.php?error=503
    Die fehler.php so:
    <?php
    if (isset($_GET["error"])) {

    // Individuelle Fehlerausgabe
    switch ($_GET["error"]) {

    case "400":
    $meldung = 'Die Anfrage konnte so nicht verstanden werden!';
    break;

    case "401":
    $meldung = 'Sie haben keine Berechtigung, diesen Zugriff auszuführen! Es wurde ein verbotener Zugriff auf dem Webserver ausgeführt.';
    break;

    case "403":
    $meldung = 'Verbotene Anfrage! Es wurde eine Verbotene Anfrage an den Webserver gesendet.';
    break;

    case "404":
    $meldung = 'Die aufgerufene Seite wurde nicht gefunden !<br>Möglicherweise wurde die Seite vom Webmaster entfernt oder es ist ein Fehler am Webserver aufgetreten.';
    break;

    case "500":
    $meldung = 'Interner Fehler am Webserver! Es ist ein Interner Fehler am Webserver aufgetreten.';
    break;

    case "503":
    $meldung = 'Der Webserver ist zur Zeit überlastet! Der Webserver hat wegen Überlastung den Dienst (zeitweise) eingestellt!';
    break;

    default:
    $meldung = 'Fehler am Webserver! Es ist ein Fehler am Webserver aufgetreten.';
    }

    // Ausgabe
    echo '<p style="text-align: center;">' . $meldung . '<br>Wählen Sie bitte oben im Menü den gewünschten Eintrag.</p>';


    // Fehlermeldung speichern
    $fehler = $_GET["error"] . ", " . date("d.m.Y H:i") . ", " . $_SERVER['HTTP_REFERER'] . " ," . $_SERVER['REMOTE_ADDR'] . "\n";
    $handler = fOpen("fehler_log.txt" , "a+");
    fWrite($handler, $fehler);
    fClose($handler);
    }
    ?>
    Soweit so gut ...
    Jedoch funktioniert die 404-Ausgabe nur bei inkorrekten Verzeichnissen wie z.B. https://www.autosattler.at/sadsdfsdf
    Wenn jedoch eine nichtvorhandene Seite aufgerufen wird, funktioniert es nicht - es kommt nur eine weisse Seite mit "File not found": https://www.autosattler.at/sfsdf.php
    Ich habe schon etliches ausprobiert, aber ich weiss nicht wo der Fehler liegt.
    Bitte dringend um Unterstützung ! Danke im voraus.
    LG Markus

  • #2
    So würde ich schon mal nicht anfangen ^^

    Kommentar


    • #3
      500 Fehler gehen auch nicht abzufangen, da es Serverfehler sind.
      Vielleicht erst mal hier einlesen: https://de.wikipedia.org/wiki/HTTP-Statuscode

      Kommentar


      • #4
        Zitat von protestix Beitrag anzeigen
        500 Fehler gehen auch nicht abzufangen, da es Serverfehler sind.
        Immerhin, es sind Fehler

        Kommentar


        • #5
          Nicht hilfreich ...
          Dachte, ich kann mich hier an Profis wenden, stattdessen nur nutzlose und beleidigende Kommentare.

          Kommentar


          • #6
            Zitat von Donsenilo Beitrag anzeigen
            Nicht hilfreich ...
            Das solltest du dann schon begründen, ich finde die Hinweise durchaus hilfreich.
            Zitat von Donsenilo Beitrag anzeigen
            Dachte, ich kann mich hier an Profis wenden, stattdessen nur nutzlose und beleidigende Kommentare.
            Profis sind Menschen die ihr Geld damit verdienen, wenn du Profis willst, solltest du nicht in einem Forum schreiben sondern dich an eine Firma wenden.

            Die Kommentare sind keineswegs beleidigend, aber das liegt wohl im Auge des Betrachters. Welche Antwort hättest du denn gerne?

            Schau auch ins error.log des apache, dort steht was falsch gelaufen ist.
            Da wir ja nur nutzlose Kommentare abgeben, liest du dich einfach mal selber ein.
            http://httpd.apache.org/docs/current/custom-error.html

            Kommentar


            • #7
              Da muss in htaccess noch was geben...
              Signaturrrrrrr

              Kommentar


              • #8
                "Die Kommentare sind keineswegs beleidigend, aber das liegt wohl im Auge des Betrachters. Welche Antwort hättest du denn gerne?" ...
                Ich habe diese so aufgefasst, weil diese nicht hilfreich sind.

                ich hatte gehofft, jemand könnte mir erklären, warum z.B. https://www.google.at/url?sa=t&rct=j...E3Ac8w0dN38uCD funktioniert, https://www.autosattler.at/links_partner.php jedoch nicht ...

                Kommentar


                • #9
                  Weil das eine ein externer Link ist und das andere nicht. Schau ins Handbuch, da steht das interne Links ab dem "document root" erstellt werden müssen, beginnend mit einem Schrägstrich.
                  Demnach muss es so lauten:
                  Code:
                  ErrorDocument 404 /fehler.php
                  Sofern die Datei im Wurzelverzeichnis liegt. Wenn deine Domain auf das Verzeichnis http zeigt ausgehend vom document root, dann halt
                  Code:
                  ErrorDocument 404 /http/fehler.php
                  Die Parameter kannst du dir sparen, die werden nicht gebraucht, da der HTTP-Code im $_SERVER['REDIRECT_STATUS'] steht.

                  Wenn du aber eh nur Text ausgeben willst, kannst du den auch gleich da rein schreiben statt weiterzuleiten.
                  Code:
                  ErrorDocument 404 "Seite nicht vorhanden"

                  Kommentar


                  • #10
                    Und du solltest ebenfalls den Kommentar von tomBuilder beruecksichtigen!
                    Die Statuscodes 200 und 302 sind keine Errors!

                    Kommentar


                    • #11
                      Und Donsenilo ausser pöbeln auch noch content ?
                      Die Erlärungen in #9 verstanden, sich dafür bedankt ?

                      ich kann nur Dich zietieren:

                      Nicht hilfreich ...
                      Dachte, ich kann mich hier an Profis wenden, stattdessen nur nutzlose und beleidigende Kommentare.

                      Kommentar


                      • #12
                        Geschätzte Antworter

                        ich entschuldige mich hiermit für meine unangebrachten Kommentare !!!

                        Ich war einfach nur ziemlich frustriert und hatte auf schnelle Hilfe gehofft.
                        Aktuell konnte ich mein Problemchen damit beheben:
                        Code:
                        RewriteEngine On
                        RewriteCond %{REQUEST_FILENAME} !-f
                        RewriteCond %{REQUEST_FILENAME} !-d
                        RewriteRule ^ https://www.autosattler.at/fehler.php [QSD]
                        
                        ErrorDocument 400 /fehler.php
                        ErrorDocument 401 /fehler.php
                        ErrorDocument 403 /fehler.php
                        ErrorDocument 404 /fehler.php
                        ErrorDocument 500 /fehler.php
                        Dies funkt soweit.

                        Nochmal: Bitte um Verzeihung und Nachsicht !

                        Kommentar


                        • #13
                          Code:
                           
                           ErrorDocument 500 /fehler.php
                          Das wird nicht funktionieren. Wenn der Server ein 500 Fehler liefert ist schon alles zu spät, da wird auch php gar nicht mehr ausgeführt. Ob man dann noch auf eine html Datei ausweichen kann, hängt wohl mit der Schwere der Ausnahmesituation zusammen, ist aber schwer testbar und ich weis da auch nicht weiter. Wollte das aber noch mal angemerkt haben, falls du dich wunderst, warum der Fehler, wenn er denn Auftritt, nicht so behandelt wird, wie du dir das wünscht.

                          Kommentar


                          • #14
                            Code:
                            ProxyErrorOverride On
                            https://httpd.apache.org/docs/2.4/mo...yerroroverride
                            Signaturrrrrrr

                            Kommentar

                            Lädt...
                            X