/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Navn på side, der ikke findes...
Fra : MZH


Dato : 12-06-02 21:47

Bag denne kryptiske overskrift gemmer der sig et ganske simpelt
problem:

Jeg har på mit site lavet min egen fejlside i stedet for 404
standardsiden (via htaccess).

Nu er det, jeg gerne vil have, at der på denne side står adressen på
den side, brugeren har kaldt, men som ikke findes.

Altså: Brugeren kalder www.mydomain.dk/page.html som ikke findes.
Derfor får han en 404 feljside, hvor der står noget i retning af

"Den side du har kaldt (www.mydomain.dk/page.html) findes ikke. Bare
ærgerligt!"

Findes der en variabel á la HTTP_REFERRER, som indeholder navnet på
den side, der oprindelig blev kaldt? Adressen på den kaldte side står
jo stadigvæk i adresselinien, så den må vel kunne hives ud et sted
fra?

Mvh.

Mikkel

 
 
Lars Petersen (12-06-2002)
Kommentar
Fra : Lars Petersen


Dato : 12-06-02 21:51

> Jeg har på mit site lavet min egen fejlside i stedet for 404
> standardsiden (via htaccess).
[...]
> Findes der en variabel á la HTTP_REFERRER, som indeholder navnet på
> den side, der oprindelig blev kaldt? Adressen på den kaldte side står
> jo stadigvæk i adresselinien, så den må vel kunne hives ud et sted
> fra?

Yeps: $_SERVER["REQUEST_URI"] eller $REQUEST_URI

:)

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy - A Free Half Life
Manager!
To mail me remove your-pants.



MZH (13-06-2002)
Kommentar
Fra : MZH


Dato : 13-06-02 11:26


>Yeps: $_SERVER["REQUEST_URI"] eller $REQUEST_URI

Takker - det var lige det, jeg skulle bruge!

Mvh.

Mikkel

Jonas Voss (19-06-2002)
Kommentar
Fra : Jonas Voss


Dato : 19-06-02 23:49

"Lars Petersen" <lp@your-pants.coder.dk> writes:

> > Findes der en variabel á la HTTP_REFERRER, som indeholder navnet på
> > den side, der oprindelig blev kaldt? Adressen på den kaldte side står
> > jo stadigvæk i adresselinien, så den må vel kunne hives ud et sted
> > fra?
>
> Yeps: $_SERVER["REQUEST_URI"] eller $REQUEST_URI

Jeg blev inspireret af Mikkels ide og ville lave det samme trick, men
det fungerer ikke rigtig hos mig. Den skriver titlen paa min fejlside, i
stedet for den side der resulterede i 404'eren. Den adresse der
oprindeligt oenskedes hentet staar heller ikke i adresselinien.

Er det en PHP-ting eller en Apache-ting?

PHP v. 4.1.2
Apache v. 1.3.20

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Peter Brodersen (19-06-2002)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-02 23:53

On 20 Jun 2002 00:48:49 +0200, Jonas Voss <spamthis@verture.net>
wrote:

>Den skriver titlen paa min fejlside, i
>stedet for den side der resulterede i 404'eren. Den adresse der
>oprindeligt oenskedes hentet staar heller ikke i adresselinien.

Så har du sandsynligvis fejlagtigt sat din Apache op, hvor du har en
absolut URL som ErrorDocument.

Det betyder, at brugeren bliver viderestillet til din fejlside (som
altså hentes som en helt normal side), i stedet for at få den serveret
med rette HTTP-headers.

"Forkert":
ErrorDocument 404 http://www.domæne.dk/fejl404.php

"Korrekt":
ErrorDocument 404 /fejl404.php

--
- Peter Brodersen

Jonas Voss (20-06-2002)
Kommentar
Fra : Jonas Voss


Dato : 20-06-02 00:04

Peter Brodersen <usenet@ter.dk> writes:

> Så har du sandsynligvis fejlagtigt sat din Apache op, hvor du har en
> absolut URL som ErrorDocument.
>
> Det betyder, at brugeren bliver viderestillet til din fejlside (som
> altså hentes som en helt normal side), i stedet for at få den serveret
> med rette HTTP-headers.
>
> "Forkert":
> ErrorDocument 404 http://www.domæne.dk/fejl404.php
>
> "Korrekt":
> ErrorDocument 404 /fejl404.php

Majet, majet fint.

Tak!

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Jonas Koch Bentzen (12-06-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 12-06-02 23:30

MZH wrote:
>
> Jeg har på mit site lavet min egen fejlside i stedet for 404
> standardsiden (via htaccess).
>
> Nu er det, jeg gerne vil have, at der på denne side står adressen på
> den side, brugeren har kaldt, men som ikke findes.

echo $_SERVER["REDIRECT_STATUS"];


Peter Brodersen (13-06-2002)
Kommentar
Fra : Peter Brodersen


Dato : 13-06-02 00:32

On Thu, 13 Jun 2002 00:30:12 +0200, Jonas Koch Bentzen
<ingen.email@eksempel.dk> wrote:

>echo $_SERVER["REDIRECT_STATUS"];

Den ved vi vel et ellet andet sted godt er 404?

--
- Peter Brodersen

Jonas Koch Bentzen (13-06-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-06-02 09:34

Peter Brodersen wrote:
> On Thu, 13 Jun 2002 00:30:12 +0200, Jonas Koch Bentzen
> <ingen.email@eksempel.dk> wrote:
>
>
>>echo $_SERVER["REDIRECT_STATUS"];
>
>
> Den ved vi vel et ellet andet sted godt er 404?

Den forstod jeg ikke : ) Hvad mener du?


Peter Brodersen (13-06-2002)
Kommentar
Fra : Peter Brodersen


Dato : 13-06-02 09:43

On Thu, 13 Jun 2002 10:34:15 +0200, Jonas Koch Bentzen
<ingen.email@eksempel.dk> wrote:

>>>echo $_SERVER["REDIRECT_STATUS"];
>> Den ved vi vel et ellet andet sted godt er 404?
>Den forstod jeg ikke : ) Hvad mener du?

REDIRECT_STATUS vil omhandle hvordan, man kom hen til siden, fx ved et
intert Apache-subrequest.

Hvis den php-side, der er sat til at være ens ErrorDocument 404,
printer $_SERVER["REDIRECT_STATUS"] ud, vil outputtet være "404". Ikke
andet. Det kan være brugbart, hvis man fx sætter den samme PHP-fil til
at være ErrorDocument for en lang række fejlkoder, fx 401, 403, 404,
etc., og på baggrund af REDIRECT_STATUS giver forskellig output.

Mikkel ville have URI'en på den fil, som ikke findes. Det hjælper
REDIRECT_STATUS ikke på.

--
- Peter Brodersen

Jonas Koch Bentzen (13-06-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-06-02 11:22

Peter Brodersen wrote:
> On Thu, 13 Jun 2002 10:34:15 +0200, Jonas Koch Bentzen
> <ingen.email@eksempel.dk> wrote:
>
>
>>>>echo $_SERVER["REDIRECT_STATUS"];
>>>
>>>Den ved vi vel et ellet andet sted godt er 404?
>>
>>Den forstod jeg ikke : ) Hvad mener du?
>
>
> REDIRECT_STATUS vil omhandle hvordan, man kom hen til siden, fx ved et
> intert Apache-subrequest.
>
> Hvis den php-side, der er sat til at være ens ErrorDocument 404,
> printer $_SERVER["REDIRECT_STATUS"] ud, vil outputtet være "404". Ikke
> andet. Det kan være brugbart, hvis man fx sætter den samme PHP-fil til
> at være ErrorDocument for en lang række fejlkoder, fx 401, 403, 404,
> etc., og på baggrund af REDIRECT_STATUS giver forskellig output.

Ah ja, selvfølgelig. Det var mig, der huskede forkert - REDIRECT_STATUS
giver koden, ikke URI'en. Jeg lavede for længe siden en
håndter-alle-fejl-side i PHP på den måde, du har beskrevet ovenfor, så
derfor kunne jeg bare huske REDIRECT_STATUS, men altså ikke, hvad den
stod for : )


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste