Avatar billede clausga Nybegynder
30. november 2006 - 22:31 Der er 10 kommentarer

Sende en fejl 404

Hvis jeg vil sende en fejl 404 (siden er fjernet) til browseren, hvordan gør jeg det ? og koden skal vel være øverst på siden, den kan vel ikke placeres midt på siden....altså efter <body> ?
Avatar billede elskermad.dk Nybegynder
30. november 2006 - 22:36 #1
Det skal sendes via en header, men hvordan den skal se ud ved jeg ikke - lytter spændt :)
Avatar billede coderdk Praktikant
30. november 2006 - 22:46 #2
header( "HTTP/1.0 404 File Not Found" );
exit;

Du kan også lave en speciel side i dit eget layout i stedet for exit; - den vil stadig blive opfattet som ikke fundet af browseren (og bots) hvis du sender headeren :)
Avatar billede coderdk Praktikant
30. november 2006 - 22:47 #3
Står vist også på http://dk.php.net/header hvis jeg ikke husker forkert
Avatar billede clausga Nybegynder
30. november 2006 - 22:49 #4
Grunden er at søge maskinerne skal fjerne den eller tro at siden er fjernet

hvis siden hedder side.dk/produkt/apple/ipod/

før lavede jeg bare sådan at hvis den ikke fantes i databasen så skrev den "produktet er udgået", men siden virker jo stadig så søge maskinerne tror den virker...
Avatar billede coderdk Praktikant
30. november 2006 - 23:02 #5
Ok, du kan sagtens lave en side i sitets layout hvor du skriver at produktet er udgået, bare lad være med at exit'e, bare start siden med den header :)
Avatar billede clausga Nybegynder
30. november 2006 - 23:08 #6
Jeg har prøvet at sætte header( "HTTP/1.0 404 File Not Found" ); ind i toppen på siden (og derefter mit eget layout, men så får jeg netop bare den alm 404 fejl side...?
Avatar billede coderdk Praktikant
01. december 2006 - 00:00 #7
Så bruger du sikkert Internet Explorer, i den engelske version er der en option i Tool | Internet options | Advanced der hedder "Show friendly HTTP error messages" som skal slås fra - Hvis din side fylder nok (vist over 1024 tegn) så burde den dog blive vist!
Avatar billede clausga Nybegynder
01. december 2006 - 12:05 #8
Altså alle mine produkter bliver vist dynamisk ud fra ID.

så linket side.dk/produkt/apple/ipod/124/

virker jo stadig selvom produktet er slettet fra databasen.... men skal jeg bare lave den sådan i toppen af siden:

<? if($id == '') { header( "HTTP/1.0 404 File Not Found" ); echo"produktet er udgået"; } else { vis produkt }

og så vil søgemaskinerne tro at produktet er fjernet ?
Avatar billede coderdk Praktikant
01. december 2006 - 17:08 #9
ID'en er der vel stadig når du laver sådan et request. Du spørger vel i databasen og hvis der ikke er nogen, eller den er deaktiveret eller hvad du gør sender du din header, ja bots vil tro at linket er dødt.
Avatar billede clausga Nybegynder
01. december 2006 - 17:22 #10
Jo ups hehe, jo jeg søger i databasen og tjekker op om den findes hvis den ikke findes så smider jeg en HTTP/1.0 404 File Not Found i headeren ? det er vel sådan jeg skal gører det på den rigtige måde ?

i min .htaccess fil har jeg også et link til en 404 fejl side, men den vil den aldrig blive sendt videre til når jeg bare bruger header( "HTTP/1.0 404 File Not Found"  ? og derefter bare normalt indhold på siden ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester