Avatar billede dragonbook Nybegynder
20. april 2004 - 19:28 Der er 27 kommentarer og
1 løsning

Åben min 404 fejl side

Hvis der opstår en fejl på min webside, at der f.eks. er et link der føre til en fil der ikke er der. Så ryger man ind på en standart fejl 404 side.

Jeg vil gerne have min egen 404 fejl side, og har derfor lavet en.

Jeg kan dog ikke helt finde ud af hvordan jeg får serveren til at sende folk til min fejl 404 side, i stedet for den normale !

Håber i kan hjælpe! jeg bruger b-one som web udbyder
Avatar billede peter009 Nybegynder
20. april 2004 - 19:32 #1
Du kunne lave som mig:

<?PHP

// define logfile:
// $logfile = $DOCUMENT_ROOT . "/404log.php";
$logfile = '404log.txt';

// check that this is running as Apache module
if (!function_exists('virtual')) {

}

// get name of the requested page
$request = rawurldecode($REQUEST_URI);
if(get_cfg_var('magic_quotes_gpc')) $request = stripslashes($request);

// check that this is not called directly
if ($request == $PHP_SELF) {

  exit;}

$req = htmlspecialchars ($request);

$str = $req;
$str = str_replace("/", "", $str);

?>

<center>

<br><BR><br><br><br><br>


<img src=klovnen.gif><br><h1>Se <?=$str?> kan sgu flyve</h1>



</center>

<?

// Output text:


// write to logfile:
if ($logfile) {
  $handle = fopen($logfile,'a');
  if ($handle) {
    $reflink = "<a href='$HTTP_REFERER'>$HTTP_REFERER</a>";
    $dat = date('Y-m-d');
    fwrite($handle,"<tr><td>$req</td><td>$reflink</td><td>$dat</td></tr>\n");
    fclose($handle);}}

// output a lot of spaces to make sure Microsoft Internet Explorer 5.x doesn't
// display it's own "friendly" error page:
printf('%512s', ' ');

// You may add links to home, index, and search pages below:
?>
Avatar billede peter009 Nybegynder
20. april 2004 - 19:32 #2
Smider lige et svar.
Avatar billede dragonbook Nybegynder
20. april 2004 - 19:35 #3
Hvad skal jeg kalde denne fil og hvor skal den ligge ??
Avatar billede technodance.dk Nybegynder
20. april 2004 - 19:37 #4
ellers kan du goså lave dine sider og linke med den her
<?
if (isset($_GET['side'])) {
  if(file_exists($_GET['side'].'.php')) {
    include($_GET['side'].'.php'); // Filen som bliver valgt.
  } else {
    include('fejl.php'); // Hvis der er valgt en fil som ikke eksisterer.
  }
} else {
  include('forside.php'); // Standard side, bliver vist hvis intet er valgt.
}
?>
<a href="index.php?side=side1">side1</a>

p.s. så skal filen side1.php kunnde finds i dit DIR
Avatar billede dragonbook Nybegynder
20. april 2004 - 19:42 #5
ved at det skulle være muligt med noget i denne retning:

ErrorDocument 404 http://www.side.dk/404.html
ErrorDocument 500 http://www.side.dk/500.html

gemt i en .htaccess fil. Men ved ikke hvor den skal ligge og om det virker.
Jeg er ikke intrsseret i at skulle indsætte noget på alle mine side !
(ellers tak for budet)
Avatar billede dennismp Nybegynder
20. april 2004 - 19:47 #6
Jeg tror det er nok hvis du skriver

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

istedet.

du skal bare upload .htaccess in roden af dit webbibliotek (der hvor dine 404.html og 500.html kommer til at ligge)
Avatar billede dragonbook Nybegynder
20. april 2004 - 19:52 #7
Ja men det virker bare ikke !!!
Avatar billede dragonbook Nybegynder
20. april 2004 - 19:54 #8
der skal vel ikke stå andet i .htaccess filen end

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

eller hvad ??
Avatar billede dennismp Nybegynder
20. april 2004 - 19:55 #9
Så har de nok slået det fra. Snak med b-one.
Avatar billede dennismp Nybegynder
20. april 2004 - 19:56 #10
Nej.. Hvis du skriver noget forkert (aSDFAWREA"¤) i den fil, så får du en fejl (du kan ikke se din side) - så kan du nemt finde ud af om .htaccess er slået til eller ej
Avatar billede dragonbook Nybegynder
20. april 2004 - 19:58 #11
Jeg benytter .htaccess i nogle andre mapper så den er slået til !

Er der nogen der selv bruger

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

hvor det virker ?
Avatar billede dennismp Nybegynder
20. april 2004 - 20:04 #12
Jeg kender ikke eller bruger b-one.dk. Jeg har slev brugt errordocument uden problemer.

Har du forsøgt at smide de errordocument linjer ind i den .htaccess du er sikker på virker?
Avatar billede dragonbook Nybegynder
20. april 2004 - 20:10 #13
har lige prøvet at skrive noget forkert og så virker min side ikke, så det er slået til. Har også prøvet at ligge linje ind i en jer er sikker på virker, og det virker stadig ikke !
Avatar billede dennismp Nybegynder
20. april 2004 - 20:19 #14
Hvad mener du med at din side ikke virker? Hvad sker der når det virker / ikke virker?

jeg har lige prøvet selv igen,
ErrorDocument  404 /404.html
virker fint her.

Brug den .htaccess du ved virker, så vi er sikker på at det du skriver bliver læst af apache.
Avatar billede dragonbook Nybegynder
20. april 2004 - 20:23 #15
okay bruger den nu, men det eneste der står i .htaccess er

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

når jeg siger det ikke virker mener jeg, at jeg stadigvæk får den "normale" 404 fejlside op.
Avatar billede dennismp Nybegynder
20. april 2004 - 20:27 #16
Hvis apache ikke kan finde filen (/404.html), så viser den, den normale fejl-side og tilføjer

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Avatar billede dragonbook Nybegynder
20. april 2004 - 20:31 #17
har lige set efter, der kommer bare en ganske normal fejlside op med det her i bunden.

HTTP 404 - Filen blev ikke fundet
Internet Explorer
Avatar billede dennismp Nybegynder
20. april 2004 - 20:34 #18
Aha, så er problemet nok at:

"Microsoft Internet Explorer (MSIE) will by default ignore server-generated error messages when they are "too small" and substitute its own "friendly" error messages. The size threshold varies depending on the type of error, but in general, if you make your error document greater than 512 bytes, then MSIE will show the server-generated error rather than masking it. More information is available in Microsoft Knowledgebase article Q294807."

Q294807:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807

Kort sagt; prøv at smide mere i din fejlfil, så den fylder mere end 512 bytes.
Avatar billede dragonbook Nybegynder
20. april 2004 - 20:46 #19
okay nu virker det delvist !

Hvis jeg skriver et forkert link  der ender på f.eks. side2.html
Så kommer min egen 404 fejl side op :-)

Men hvis jeg skriver f.eks. side2.php

så kommer den normale side op !
Avatar billede dennismp Nybegynder
20. april 2004 - 21:33 #20
Og side 2 findes heller ikke? Ligger de begge i samme directory?
Avatar billede dragonbook Nybegynder
20. april 2004 - 21:37 #21
der er ingen af de to sider der findes!

Så snart man skriver et forkert link der ender på .php, så bliver man ledt
til den "normale" fejl side !

Alle andre forkerte links der f.eks. ender på .html eller ingenting bliver ledt til min fejl side !
Avatar billede dennismp Nybegynder
20. april 2004 - 21:40 #22
Der er jeg på bar bund. Her er det ligemeget hvad de hedder.

Du har vel ikke noget i en anden .htaccess som kan have indflydelse?
Avatar billede dragonbook Nybegynder
20. april 2004 - 21:42 #23
nej der ligger ikke andre .htaccess filer i roden.
Avatar billede dragonbook Nybegynder
20. april 2004 - 22:45 #24
Tak for hjælpen
Avatar billede dennismp Nybegynder
20. april 2004 - 22:52 #25
Det var så lidt, jeg har ikke flere ideer (svræt at hjælpe når man ikke selv kan genskabe problemet).

Du kan jo prøve at stille spørgsmålet i apache-gruppen.
Avatar billede Peter Praktikant
06. juni 2004 - 09:28 #26
Jeg har b-one og kan heller ikke få det til at virke med php-filer, i hvert tilfælde ikke så længe de ligger i roden. Hvis de ligger i en undermappe, f.eks /mappe/ugyldig.php får jeg fint min egne fejlside. Det skulle vist skyldes at apache serveren hos b-one bygger på cgi, et eller andet i den retning.
Jeg har i hvert tilfælde givet op indtil videre.
Avatar billede dennismp Nybegynder
06. juni 2004 - 11:36 #27
Ok - jeg har heller ikke flere ideer :)
Avatar billede dragonbook Nybegynder
06. juni 2004 - 16:16 #28
lukket
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