header(HTTP ....

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • header(HTTP ....

    Hallo!
    Lange gesucht und nichts gefunden ...

    Ich möchte einen 404 produzieren und dem user eine Seite als
    nicht vorhanden anzeigen!

    Jetz dacht ich mit
    PHP Code:
    header("HTTP/1.0 404 Not Found");
    die(); 
    wär das möglich!

    Da kommt jedoch immer nur ne weisse Seite!

    PHP is Version 4.2.2, Apache is 1.3.20, Läuft auf Linux!

    Wer kann helfen??

    Danke Orestes
    Risc is part of the game if you want to sit in the captain´s chair.

  • #2
    Das geht so nicht.
    Du must in dem Header auf eine Datei verweisen.

    Also einfach eine HTML Datei erstellen die Deinen 404 Code anzeigen
    und fertig.
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Comment


    • #3
      Und warum nich????


      http://www.php.net/manual/de/function.header.php ???

      Grummel!! da müsst ich wieder languagespeziefisch und blabla ...
      Geht das nicht anders ??

      Orestes
      Risc is part of the game if you want to sit in the captain´s chair.

      Comment


      • #4
        mach es doch per htaccess


        .htaccess
        ErrorDocument 401 /errors/error401.htm
        ErrorDocument 403 /errors/error403.htm
        ErrorDocument 404 /errors/error404.htm
        mfg
        marc75

        <Platz für anderes>

        Comment


        • #5
          Original geschrieben von Arni
          Das geht so nicht.
          Du must in dem Header auf eine Datei verweisen.
          erzähl keinen unsinn.

          was glaubst du wohl, warum im manual folgendes beispiel aufgeführt ist?
          PHP Code:
          <?php
            header
          ("HTTP/1.0 404 Not Found");
          ?>
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Comment


          • #6
            @ wahsaga
            dem kann ich nur zustimmen!

            @ marc75
            NEIN ich möchte es NICHT per htaccess machen !!

            ich will ENTSPRECHEND http://www.php.net/manual/de/function.header.php
            einfach eine dann natürlich !!! sprachunabhängige !!!
            ne nicht EINE, sondern DIE 404 - Seite ausgeben lassen!!

            Wer gibt mir nen Tip? Was ist überhaupt eine 404-Seite?
            Also wie sieht die aus ? Wo steht die ? Wieso ist sie Sprach-unabhängig?
            Wer hat da bitte Infos ? Wer hat ähnliches schon gemacht ?

            Bei mir kommt nur eine weisse Seite
            (die wenn unvollständiger Code ausgegeben wird)

            Liegt's an den Servereinstellungen??

            Wer kann helfen??
            Orestes

            p.s.
            Entschuldigt die ersten Zeilen
            aber ich hab es satt hier A zu fragen und B als Antwort zu bekommen!
            Risc is part of the game if you want to sit in the captain´s chair.

            Comment


            • #7
              Original geschrieben von Orestes
              @ wahsaga
              dem kann ich nur zustimmen!

              @ marc75
              NEIN ich möchte es NICHT per htaccess machen !!

              ich will ENTSPRECHEND http://www.php.net/manual/de/function.header.php
              einfach eine dann natürlich !!! sprachunabhängige !!!
              ne nicht EINE, sondern DIE 404 - Seite ausgeben lassen!!

              Wer gibt mir nen Tip? Was ist überhaupt eine 404-Seite?
              Also wie sieht die aus ? Wo steht die ? Wieso ist sie Sprach-unabhängig?
              Wer hat da bitte Infos ? Wer hat ähnliches schon gemacht ?

              Bei mir kommt nur eine weisse Seite
              (die wenn unvollständiger Code ausgegeben wird)

              Liegt's an den Servereinstellungen??

              Wer kann helfen??
              Orestes

              p.s.
              Entschuldigt die ersten Zeilen
              aber ich hab es satt hier A zu fragen und B als Antwort zu bekommen!
              ähm sorry das ich auf deinem Beitrag geantwortet hatte.

              was meinst du mit 404? die Error 404?

              404: Nicht gefunden (Not Found)
              Der Server konnte die Datei nicht finden, das Sie angefordert haben.Es kann sein, dass Sie sich bei der Eingabe der Adresse verschrieben haben. Möglich wäre auch, dass das Dokument nicht mehr existiert, der Name geändert wurde oder es an einer anderen Stelle steht. Behebung: Gehen Sie eine Ebene zurück, d.h. löschen Sie den letzten Teil der Adresse bis zum nächsten Querstrich ("/") und fordern Sie diese Seite an. Vielleicht finden Sie hier Hinweise auf den Verbleib des Dokuments. Wenn das nicht funktioniert, rufen Sie NUR den Domainnamen auf. Beispiel: http://www.musterfrau.de/outlook/blabla.html wird nicht gefunden. Probieren Sie (1. Schritt): http://www.musterfrau.de/outlook und schlussendlich: http://www.musterfrau.de

              quelle: faq puretec
              hier ein Link:
              http://www.w3.org/Protocols/HTTP/1.0/spec.html#Code404

              google kann da helfen.

              Und wenn du es so http://www.php.net/manual/de/function.header.php machen willst, dann mach es doch auch so, habe da mal kurz drüber geschaut, es gibt da reichlich "Anmerkungen" solltest vielleicht mal schauen ob eventl. eine davon bei dir Zutrifft, warum es nicht geht.

              Und sorry das ich schon wieder geantwortet hab.
              mfg
              marc75

              <Platz für anderes>

              Comment


              • #8
                dein problem scheint kein php problem zu sein.

                kann es sein das du apache2 benutzt??? denn in den kommentaren und bei meinem test hier hatte ich diesen effeckt. zwar schreibst du apache 1.3 aber da funzt es bei mir
                ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                Comment


                • #9
                  Ella!

                  @marc75:
                  - sorry echt! war der falsche Ton. Entschuldige bitte!!


                  um das prob zu verdeutlichen:
                  ich möchte mit wiederverwendbarem Code arbeiten.
                  die Error 404 zu 'faken' hat also, wenn die Bruchstücke auf Servern
                  mit unterschiedlichen Spracheinstellungen laufen keinen Sinn.
                  http://www.atlanta.com/test.html
                  spuckt was anderes aus als
                  http://www.paris.fr/test.html
                  und auch
                  http://www.muenchen.de/test.html

                  Genau diese 'Standard' - 404-Seite hätt ich gerne angezeigt!
                  Der User soll gar nicht wissen das ein Unterverzeichis existiert
                  Der User soll auch nicht umgeleitet werden und ein 404.html oder
                  Ähnliches im der Adressleiste sehen
                  Und auf gar keinen Fall sollte ein 'status code 403 (forbidden)'
                  erscheinen!

                  Ne Idee wäre natürlich, eine nicht vorhandene Seite zu parsen
                  und auszugebe ... aber ... muss so ein Aufwand sein wenn das
                  ANGEBLICH
                  PHP Code:
                  header("HTTP/1.0 404 Not Found"); 
                  schaffen sollte!

                  @muecke0815:
                  hmmm schöner Ansatz
                  nach phpinfo.php läuft Apache/1.3.20, PHP Version 4.2.2
                  php läuft auch als Modul - nicht cgi -
                  Schreib doch bitte mal Deine Loaded Modules!
                  da wär doch ne Möglichkeit, warum es nich funzt!!

                  Danke für Eure Beiträge und Anregungen

                  Vielleicht doch ein Lösung ??

                  Orestes



                  p.s. interessant:
                  Wenn ich ne 404 auf nem .gr oder .dk versuche (hab viele probiert),
                  kommt die in DEUTSCH oder ENGLISCH ??? !!!!
                  http://www.aar.dk/test.html
                  http://www.dolnet.gr/test.html
                  http://www.athens2004.gr/test.html
                  Warum das den?? den griechischen Zeichensatz hab ich installiert !!
                  Last edited by Orestes; 24-07-2003, 03:00.
                  Risc is part of the game if you want to sit in the captain´s chair.

                  Comment


                  • #10
                    Original geschrieben von Orestes
                    Genau diese 'Standard' - 404-Seite hätt ich gerne angezeigt!
                    Der User soll gar nicht wissen das ein Unterverzeichis existiert
                    Der User soll auch nicht umgeleitet werden und ein 404.html oder
                    Ähnliches im der Adressleiste sehen
                    Und auf gar keinen Fall sollte ein 'status code 403 (forbidden)'
                    erscheinen!
                    verlinkst du in den Ordner? weil sonst weiss ein Besucher doch eh nicht das dieser Ordner vorhanden ist.

                    eventl. keine index datei in den ordner packen, wenn er nur den ordner dann aufruft, müsste theor. die 404 kommen vom system.

                    (PS: bei den errors per ht. wird nicht in der Adresszeile der Ursprung der errors.htm angezeigt.)

                    p.s. interessant:
                    Wenn ich ne 404 auf nem .gr oder .dk versuche (hab viele probiert),
                    kommt die in DEUTSCH oder ENGLISCH ??? !!!!
                    http://www.aar.dk/test.html
                    http://www.dolnet.gr/test.html
                    http://www.athens2004.gr/test.html
                    Warum das den?? den griechischen Zeichensatz hab ich installiert !!
                    haste ein eigenden Server? oder haste alles bei einem provider? vermute mal das wenn es ein Provider ist es immer nur seine defin. errors kommen, wenn er nun keine griesch. errors hat.... werden auch keine gr. angezeigt.

                    Alles reine Vermutung.
                    mfg
                    marc75

                    <Platz für anderes>

                    Comment


                    • #11
                      Der Thread ist zwar schon einige Tage alt, weil sich aber keine endgültige Antwort ergeben hat.

                      Es ist falsch wenn man meint der Apache würde eine zusätzliche Seite ausgeben. Das macht er nur wenn er keine Seite findet.

                      In deinem Fall findet er ja eine Seite und gibt sie aus.
                      Soweit so gut, wenn du jetzt deine Seite (mit der Headerzeile) aufrufst und dann anschließend in dein Logdatei schaust wirst du sehen daß da brav der Code 404 geliefert wird.

                      Was Du auf der Seite noch ausgibst ist ganz was anderes, das ist dir selbst überlassen. Die 404 verhindert zb. das Indizieren des ausgegebenen Textes durch die Suchmaschinen.

                      Gruß Talisman.

                      Comment


                      • #12
                        Bei einer suche nach einer Problemlösung für das gleiche Problem bin ich gerade auf den Thread gestoßen.

                        Es hat sich aber mittlerweile gezeigt, dass der Code bei mir sehr wohl funktioniert. Nur reicht ein einfaches Refresh nicht aus. Um statt einer weißen Seite dann die Fehlerseite zu sehen musste ich nach der Änderung des Sourcecodes die Seite nochmal in einem Neuen Browserfenster laden - das scheint aber nur ein Browserseitiges Problem zu sein.

                        Und nochwas zu den 404er Seiten - ich glaube da herrschte etwas verwirrung hier: Es wird vom Server nur die _Information_, dass die Seite nicht gefunden wurde an den Browser geschickt. Dieser zeigt dann _seine_ Standardfehlerseite in der eingestellten Sprache an.

                        Gruß,
                        Syco
                        [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                        Comment


                        • #13
                          Hmm, vielleicht passt es ja in diesen Thread:

                          Statuscodes
                          Liberate me domine ex eo inferiis...

                          Comment

                          Working...
                          X