Falsche URL

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

  • Falsche URL

    Wenn ich eine falsche URL im Adressfeld meines Browsers angebe von meiner Domain angebe, möchte ich, dass eine von mir erstellte Fehlermeldung kommt. Wie kann ich das machen ?

  • #2
    was meinst du mit "falscher URL" ?

    Kommentar


    • #3
      die frage ist doch eher, wie erzeuge ich meinen eigenen 404er!
      der abraxax weiß es
      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

      Kommentar


      • #4
        @jOhnny knOx

        Datei (.htaccess) ins Root deines servers laden.

        Inhalt: (für jeden Fall ein anderer)

        ErrorDocument 404 /404/index.php
        ErrorDocument 401 /401/index.php
        ErrorDocument 403 /403/index.php
        ErrorDocument 500 /500/index.php

        Die entsprechenden Ordner 404,401,403,500, im Root erstellen und die index Dateien da reinladen.
        Fertig.

        Kommentar


        • #5
          mehr ist das nicht? cool!
          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

          Kommentar


          • #6
            nein, mehr ist das nicht.

            Mit der .htaccess im Root kannst du die Konfiguration des Servers steuern...

            zum Bleistift:
            wenn der Server des Hosters keine anderen Dateiendungen als .html oder .htm akzeptiert, kannst du entweder eine Umleitung basteln oder in die .htaccess schreiben:

            DirectoryIndex index.php index.html index.htm

            jetzt wird erst mal gecheckt ob index.php existiert.. wenn ja, ist diese auch erreichbar....
            Das geht mit allen Endungen, die der Browser frisst... .shtml .swf usw..
            Dann aber für jede Endung eine eigene Zeile:

            DirectoryIndex index.php index.html index.htm
            DirectoryIndex index.swf index.html index.htm
            DirectoryIndex index.shtml index.html index.htm

            Voraussetzung ist SSI Implementierung.

            Kommentar


            • #7
              Original geschrieben von tobias_k
              Die entsprechenden Ordner 404,401,403,500, im Root erstellen und die index Dateien da reinladen.
              klar, so kann man's machen, aber warum für jeden error einen eigenen unterordner?

              ErrorDocument 404 /error404.php
              ErrorDocument 401 /error401.php

              funktioniert doch genauso gut.

              oder gleich die universelle fehlerseite error.php machen, und dieser dann nur per parameter übergeben, um welchen error es sich handelt:

              ErrorDocument 404 /error.php?errno=404
              ErrorDocument 401 /error.php?errno=401

              ;-)
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                das war doch nur ne vereinfachte darstellung.
                klar kann man das alles zusammen packen.
                frage:
                @wahsaga: okay, ich übergebe meinen fehler per parameter.
                doch wie bekomme raus, welcher fehler aufgetreten ist?
                browser sendet anforderung an den server und der 404er tritt auf,
                doch woher weiß error.php das?

                mfg eddi
                [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                Kommentar


                • #9
                  So funktioniert es:

                  htaccess:

                  ErrorDocument 400 /error.php3?error=400
                  ErrorDocument 401 /error.php3?error=401
                  ErrorDocument 402 /error.php3?error=402
                  ErrorDocument 403 /error.php3?error=403
                  ErrorDocument 404 /error.php3?error=404
                  ErrorDocument 500 /error.php3?error=500

                  Ruft ein Surfer aus Versehen eine Seite auf, die gar nicht existiert, wird jetzt die Seite error.php3 aufgerufen und eine Variable mit dem Fehlercode übergeben. Die obige Liste lässt sich beliebig erweitern, ohne dass man für jeden Fehlercode eine eigene Seite erstellen muss.

                  Oben auf der Seite error.php3 ist noch folgender Eintrag nötig:

                  <?php
                  $header = "Content-Type: text/plain; charset=\"us-ascii\"\n";
                  $header .= "Content-Transfer-Encoding: 7bit\n";
                  $header .= "FROM: name@domain.de\n"; // eMail-Adresse des Absenders
                  $msg = "Error $error\n\n"; // Error-Code
                  $msg .= "Browser: $HTTP_USER_AGENT\n\n"; // Verwendeter Browser
                  $msg .= "IP-Adresse: $REMOTE_ADDR\n\n"; // IP-Adresse
                  $msg .= "Requested URL: $REQUEST_URI\n\n"; // URL der Datei die
                  angefordert wurde
                  $msg .= "Refering URL: $HTTP_REFERER\n\n"; // URL die auf diese
                  Datei verweist
                  $mailto = "name@domain.de"; // eMail-Adresse des Empfängers

                  mail("$mailto","Error $error","$msg","$header");
                  ?>

                  Danach folgt wieder ganz gewöhnlicher HTML Code, um das Ganze in ein nettes Layout zu stecken. Mit <?php echo $error; ?> wir auch der Fehlercode auf der Seite angegeben.

                  Beispiel:

                  <html>
                  <head>
                  ......
                  </head>
                  <body>
                  <p align="center"><h5>Error <?php echo $error ?></h5></p>
                  </body>
                  </html>

                  Natürlich kann man den Fehlercode beliebig oft, etwa auch im Title-Tag (<titlte>Error <?php echo $error; ?></title) einfügen. Das Ganze lässt sich per IF-Abfrage noch in einen Body einbauen, je nach Fehlercode.


                  QUELLE: http://drweb.de/programmierung/php_2.shtml

                  Kommentar


                  • #10
                    Ich weiß nicht ganz wie das funktioniert, kann jemand bitte einen Anhang mit nem Beispiel einer htaccess datei anlegen ?

                    Kommentar


                    • #11
                      ...oder mach dir 'ne .txt Datei, lad sie hoch und benenn sie um...
                      Angehängte Dateien

                      Kommentar


                      • #12
                        @tobias_k:
                        okay, alles klar.
                        nun aber, ich mein, vielleicht drückt die herrliche sonne mir heute ein
                        wenig auf die birne, doch mir ist immernoch nicht klar, wie die vari
                        $error gefüllt wird. ich meine, woher weiß die jetzt ob 404 oder 500?
                        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                        Kommentar


                        • #13
                          also ich hab die .htaccess file auf meinen server im root-verzeichnis geladen, wenn ich nun die falsche url eingebe kommt aber eine standardfehlernachricht und die error404.php wird nicht aufgerufen.

                          Kommentar


                          • #14
                            Original geschrieben von mister_x1
                            nun aber, ich mein, vielleicht drückt die herrliche sonne mir heute ein
                            wenig auf die birne, doch mir ist immernoch nicht klar, wie die vari
                            $error gefüllt wird. ich meine, woher weiß die jetzt ob 404 oder 500?
                            die seite wird doch mit dem parameter aufgerufen!

                            ErrorDocument 400 /error.php3?error=400
                            ErrorDocument 401 /error.php3?error=401

                            einmal mit dem parameter 400, einmal mit 401, etc...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              ich hoffe, ihr haltet mich nicht für allzu bekloppt, denn das bin ich doch nun wirklich nicht! doch woher kommt der parameter? wird die vari error direkt vom server zurück gesendet?
                              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                              Kommentar

                              Lädt...
                              X