Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] header('HTTP/1.0 404 Not Found');

Einklappen

Neue Werbung 2019

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

  • [Erledigt] header('HTTP/1.0 404 Not Found');

    Hallo,

    benötige mal wieder eure Hilfe;
    warum fürt der selbst wenn ich es überprüfe mit zB echo die 404 nicht aus?:

    PHP-Code:
    <?php
    function praefix(){
    $domain preg_replace('/.*?([^.]+\.[^.]+\.[^.]+)$/''\1'$_SERVER['HTTP_HOST']).'"';  
    $prafix explode("."$domain);
    $prefix $prafix[0];
    $GLOBALS["prefix"] = $prafix[0];
    if(
    $prefix == "hpdesk" OR $prefix== "www"){ //de
     //Wenn keine Subdomain dann Präfix leer
     
    $GLOBALS["prefix"] = "";

    else{
    $sql "SELECT
                                 UserName, CMS
                               FROM
                                  users
            WHERE
                                   UserName = '"
    .$GLOBALS["prefix"]."'
             LIMIT 1"
    ;
     
                         
    $result mysql_query($sql) OR die(mysql_error());
                            if(
    mysql_num_rows($result)) {
               
    $row mysql_fetch_assoc($result);
               if(
    $row['CMS']=="NEIN"){
            
    $GLOBALS["prefix"] = "";
            
    header('HTTP/1.0 404 Not Found');
            
    header("Status: 404 Not Found");
            
    header("Location: http://www.hpdesk.de");
            
    //Wie mach ich das noch mit der weiterleitung???
            // Warum nimmt der dnen 404 status net
            
            

           }
             else{ 
             
    $GLOBALS["prefix"] = "";
             
    header('HTTP/1.0 404 Not Found');
             
    header("Status: 404 Not Found");
             
    header("Location: http://www.hpdesk.de");
              }
           
     } 
    }  
    ?>
    Also er überprüft ob die seite von einer Subdomain aufgerufen wurde oder net und dann verfährt er weiter,
    wenn es ein passender User ist setzt er $praefix = subdomain ansosnten den 404 fehler
    Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

  • #2
    Hallo,

    was soll denn das
    PHP-Code:
    header("Status: 404 Not Found"); 
    ?

    Und was führt er da nicht aus? Installiere dir mal die Firefox-Erweiterung LiveHTTPHeaders. Dann kannst du sehen, ob etwas gesetzt wird oder nicht.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      nachträgch den 404 senden auch für IE und opera ect also kompatible

      hab kein ff
      Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

      Kommentar


      • #4
        Und wozu? Der Status-Header wird von beiden ignoriert, weil er nicht existiert.
        Ein

        HTTP/1.0 404 Not Found

        reicht aus.
        Wenn die Seite keinen Inhalt hat, wird eine eigene Fehlerseite vom Browser angezeigt. Ist Inhalt da, wird dieser angezeigt (im IE muss allerdings etwas mehr Content da sein, damit das passiert).
        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

        Kommentar


        • #5
          Wie meinst du das?

          Der Status-Header wird von beiden ignoriert, weil er nicht existiert.
          Und warum wird er ignoriert?
          Nomalerweise müsste er doch dann auch meine(eine) 404 seite anzeigen anstatt die seite mit falschen werten zuladen oder??
          Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

          Kommentar


          • #6
            Nein. Er zeigt die ganz normale Seite an. Das, was du vielleicht beim Apache als 404-Dokument angegeben hast, wird dabei nicht ausgegeben. Es wird nur der Status gesendet.
            Wenn kein Inhalt ausgegeben und nur der Status (nicht der Header Status, sondern das HTTP/1.0 404 Not Found), zeigt der Browser eine eigene Fehlermeldung an. Der IE zeigt sogar eine eigene an, wenn Inhalt da ist, der aber kleiner als 512 Bytes ist.
            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

            Kommentar


            • #7
              also da inhalt da ist (auch wenn der falsche) wird die 404.php nicht aufgerufen?!!! richtig?

              so aber dennoch müsster er mich dann weitereiten auf .... oder ut er das nur das was in der browserzeile ändert sich nicht??

              Also hab das mal mit:
              Server HTTP Status-Meldungen überprüfen und HTTP-Header anzeigen
              ausprobiert, er sagt mir IMMER 200
              Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

              Kommentar


              • #8
                PHP-Code:
                <?php
                header
                ('HTTP/1.0 404 Not Found');
                ?>
                Schreibe das in eine Datei und du wirst sehen, dass es funktioniert.
                Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                Kommentar


                • #9
                  steht das nicht da?!??

                  Also mit dem 404 hab ich gelöst, aber wie ist das mit der weiterleitung???
                  Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

                  Kommentar


                  • #10
                    Welche Weiterleitung? Weshalb willst du eine Weiterleitung? Wenn du eine Weiterleitung machst, dann lohnt sich der 404er nicht...
                    Dein Wunsch ist unlogisch.
                    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                    Kommentar


                    • #11
                      Er will m.E. das 404-Dokument anzeigen lassen
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Das ist doch Blödsinn. Wenn er einen Redirect macht, dann ist sein 404er wieder durch und er kommt auf 200 raus. Er müsste dann auf der Fehler-Seite wieder den 404er ausgeben. Nee, das widerspricht gesundem Menschenverstand...
                        PHP-Code:
                        header('HTTP/1.0 404 Not Found');
                        readfile('err404.html'); 
                        das wärs.
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          also wenn ichur
                          PHP-Code:
                          header('HTTP/1.0 404 Not Found'); 
                          Benutze sollte er mir die 404 Seite anzeigen???

                          Wenn ich den Besucher allerdings dann auf die Grundseite weiterleiten will benutz ich doch local.... oder net

                          Ich will einfach nur das die falschen Seiten nicht in die Suchmacshiene kommen. und ich jenachdem wie ich es brauche weiterleite bzw die 404er seite angezeigt bekomme.
                          Nur mit dem 404 Not Found wird die seite mit falschn werten weitergeladen, warum wird mir keine bzw nicht meine in htaccess angelegte 404.php dann nicht angezeigt???
                          Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

                          Kommentar


                          • #14
                            Weil die Anfrage bereits durch die .htaccess-Schicht durch ist. Sobald die Anfrage bis zum PHP-Skript vorgedrungen ist, hat .htaccess keine Auswirkung mehr. Für den Server existiert das Dokument und deshalb zeigt er auch keine Meldung an. Und für den Client existiert die Seite auch, es sei denn, du setzt den Status auf 404. Das interessiert den Server dann aber nicht mehr.
                            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                            Kommentar


                            • #15
                              gut und wie bekomme ich nachträglich die 404.php hin?
                              übrigens danke für die erklärungen!
                              Wer Fehler sucht wird immer welche finden und manche motzen einfach nur so

                              Kommentar

                              Lädt...
                              X