Just nu i M3-nätverket
Jump to content

ErrorDocument 404 - Hur kollar man vad han skrev?


corgrath

Recommended Posts

Hej,

Jag har ett jätte jobbigt problem, som jag har slitigt med nu i timmar med att försökt få igång.

 

Jag kör apache på min windows. När jag besöker en sida som inte finns (ex http://localhost/tomten.html ) så skickar apache mig till min 404.php fil, tack vare htacess.

 

Men vad skriver jag i 404.php så att det står, vad han försökte nå ('tomten' i detta fall)?

 

Jag vet inte vad jag ska skriva! Har både försökt $_SERVER['REQUEST_URI'] och $_SERVER['HTTP_REFERER'].

 

$_SERVER['HTTP_REFERER'] returnerar ingenting och

$_SERVER['REQUEST_URI'] returnerar "/404.php"..

 

Snälla hjälp mig!!!

 

// Christoffer

Link to comment
Share on other sites

Har du testat att lägga in ett anrop till phpinfo() i din 404-fil?

 

Jag har följande variabler jag kan använda vid ett sådant felmeddelande (Linux, PHP 4.2.3, Apache 1.3.27):

$_SERVER["REDIRECT_ERROR_NOTES"]

$_SERVER["REDIRECT_STATUS"]

$_SERVER["REDIRECT_URL"]

$_SERVER["REQUEST_URI"]

 

Link to comment
Share on other sites

Har du testat att lägga in ett anrop till phpinfo() i din 404-fil?

 

- Vad menar du?

 

JAg testade alla fyra, alla returneade ingenting (tom sträng) utan den sita 'REQUEST_URI'. Den returnerade '/404.php' =)

 

Tacksam för svar!!

 

Link to comment
Share on other sites

Testa då HTTP_REFERER, det verkar som att du blir redirectad till 404 filen, då vet HTTP_REFERER från vilken sida du kom ifrån (förutsatt att din browser säger det till servern)

 

Woops, tänk om jag kunde lära mig att läsa genom inlägg ordentligt innan jag svarar.... Du hade redan försökt det... kan det ha varit så att du gick direkt till 404 sidan istälet för att skriva in en felaktig länk? Då visas ingenting i HTTP_REFERER eftersom du inte var någonstans innan du kom till felsidan.

 

--

Some say I am crazy.. but the Voices in my head disagree...

 

[inlägget ändrat 2002-12-14 18:37:58 av Bj0rN]

Link to comment
Share on other sites

- Vad menar du?

Jo, att din 404-fil ser ut så här bara:

Sidan du försöker nå finns inte.
<?php phpinfo(); ?>

 

Du kommer då få en lång lista med alla tillgängliga miljövariabler. Bläddra igenom den (mot slutet), och se om du kan hitta din felaktiga adress någonstans.

 

Link to comment
Share on other sites

Hej igen,

 

Testade det med phpinfo(), men där hittade jag inte filen jag sökte ("kermit.html", som jag testade med)...

 

=/

 

Om man söker på Google.com finns det många exempel på hur man ska använda REQUEST_URI.. men det funkar inte, utan det visas bara min 404.php, inte filen jag sökte.

 

Har du nån anning hur jag kan gå till väga?

 

// Christoffer

 

Link to comment
Share on other sites

Ok, jag ska försöka hjälpa dig, men först måste jag veta om du kör Apache 1.x eller 2.x? Samt vilken version av PHP.

Det skulle vara jättbra om jag fick se hur din phpinfo-sida ser ut.

 

Om du inte har/vill lägga ut en länk här kan du skicka till min e-post (byt ut till ett snabel-a):

cariadon_ffol -AT- linux.nu

 

Link to comment
Share on other sites

Hej!

Jag löste det!! Så här blev det när jag returneade värdena!

 

REDIRECT_ERROR_NOTES 'File does not exist: d:/internet/web/apache/godwars_mud/tomten/'

REDIRECT_STATUS '404'

REDIRECT_URL '/godwars_mud/tomten/'

REQUEST_URI '/godwars_mud/tomten/'

 

Problemet log att mina apache skickade användaren till till http://localhost/404.php. Om man gör det externt, alltså med http://, så skickas inte värdena med. Så jag byte min error fil tille '/404.php' så att det blev internet. Och då funkade det! =)

 

Aja, Tack så mycket, jag är verkligen tacksam att du ville ta din att hjäalp mig! =)

 

Mvh

Christoffer

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...