Avatar billede obhat Nybegynder
16. maj 2005 - 15:24 Der er 18 kommentarer og
2 løsninger

Redirect ved 404

Håber nogen kan klare den her.
På mit website har jeg en række links, hvor der i nogen tilfælde ender i "404 siden kan ikke vises" og her vil jeg gerne ha mit ASP script til at viderestille til en side istedet, kan det lade sig gøre?
Avatar billede skau Nybegynder
16. maj 2005 - 15:29 #1
Tror ikke du kan styre det fra asp - men din IIS kan (eller .htacces hvis du bruger apache)
Avatar billede skau Nybegynder
16. maj 2005 - 15:30 #2
gå ind i iis, højreklik på dit site, vælg egenskaber - vælg custom errors og rediger den du vil have skal være anderledes
Avatar billede busschou Praktikant
16. maj 2005 - 15:31 #3
Det kan lade sig gøre hvis siderne ligger på dit eget domæne
Så kan du fange 404 fejlen og videresende til en fejlside
Men hvis de ligger uden for dit domæne så er det ude af dine hænder
Avatar billede skau Nybegynder
16. maj 2005 - 15:32 #4
Hvis det ikke skal gælde for hele sitet kan du sætte det på den folder hvori det skal gælde (fremgangsmåden er den samme)
Avatar billede hifi4all Nybegynder
16. maj 2005 - 15:43 #5
Her er en guide til opsætning af personlige fejlsider, men det kræver dog at du har adgang til IIS: http://activedeveloper.dk/artikler/default.asp?articleid=66

Enkelt hotel-udbydere har dog også en "fejl_404_plads" til deres kunder, som de selv kan oprettet
Avatar billede hifi4all Nybegynder
16. maj 2005 - 15:44 #6
Sorry, se venligst bort fra ovenstående - det var vist ikke det du søgte!

Sider som ikke ligger på dit domæne, har du ingen indflydelse på!
Avatar billede obhat Nybegynder
16. maj 2005 - 15:50 #7
Sitet ligger på et hotel.

Jeg bruger flg. funktion:
http://www.website.dk/link.asp?mode=id&id=120

og her troede jeg man kunne sige noget som, "on errer" redirect til en anden side ved 404 fejl.
Avatar billede busschou Praktikant
16. maj 2005 - 15:53 #8
Tænker du på hvis det søgte id ikke er indeholdt i din links samling ?
For så kan du jo sagtens give en fejl ved blot at tjekke om det eksisterer
Avatar billede skau Nybegynder
16. maj 2005 - 15:56 #9
Tjah hvis du er på et wehotel så kan du selvfølgelig ikke ændre opsætningen ;o)

Jeg ville lade siden undersøge om filen eksisterer inden den linker.
Avatar billede obhat Nybegynder
16. maj 2005 - 15:57 #10
Lad os sige at eksperten.dk ligger i linket
http://www.website.dk/link.asp?mode=id&id=120

Hvis eksperten er nede og man ender i 404 - kan scriptet så ikke kende fejlen på en eller anden måde.

Mener der findes en komando der hedder "on error resume next" ??
Avatar billede busschou Praktikant
16. maj 2005 - 15:59 #11
Det gør der også
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vastmOnError.asp
Men hvis du _har_ videresendt, så får din server jo intet at vide om at eksperten er nede. Så kommer fejlmeddelelsen fra ekspertens side og ikke din
Avatar billede busschou Praktikant
16. maj 2005 - 16:03 #12
Så skulle du kunne have en og anden form for "try/catch" blok som prøver at fange siden og hvis ikke den kan fange den så returnere din fejl
Men der findes ikke indbygget sådan en funktion i asp
Bøvlet, meget bøvlet set, så har du mulighed for inden du redirecter at hive alt html kode ud fra den ønskede side og dernæst teste om det indeholder en 404 fejl
Derefter så afhængig af det videresende til siden eller en fejl side
Men det er lidt omstændigt :o)
Avatar billede obhat Nybegynder
16. maj 2005 - 16:05 #13
Hm, ja lidt bøvlet er det måske..
Avatar billede obhat Nybegynder
16. maj 2005 - 16:26 #14
Avatar billede skau Nybegynder
16. maj 2005 - 16:32 #15
Men det får den forrige webserver ikke at vide - det er kun din browser der ved det.
Avatar billede obhat Nybegynder
16. maj 2005 - 16:34 #16
Hm, ok..
Avatar billede obhat Nybegynder
16. maj 2005 - 16:41 #17
Hvordan vil et sådan "try/catch" script se ud?
Avatar billede busschou Praktikant
16. maj 2005 - 16:51 #18
hmm den er svær
Her har jeg givet nogle links til hvordan man ripper en side for html kode
http://www.eksperten.dk/spm/612400
Eneste løsning jeg ser at du ripper siden og gemmer html indholdet
Dernæst løber du html indholdet igennem for at se om du kan finde strengen "HTTP 404 - File not found"
Hvis du finder den streng så må du gå ud fra at siden er nede.
--
faldgrupper:
Hvis siden beskriver en 404 fejl så kan du måske tro den er nede fordi den indeholder sætningen "HTTP 404 - File not found"
Hvis siden har sin egen fejl medelelse og ikke standarden. Så fanger du den ikke
Det tager tid først rippe en side og dernæst løbe alt indhold igennem
Så jeg vil ikke mene løsningen er optimal. Vil blot sige at det er muligt :o)
Avatar billede obhat Nybegynder
18. maj 2005 - 21:45 #19
Kommer ikke videre, så lukker
Avatar billede obhat Nybegynder
18. maj 2005 - 21:46 #20
...
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
Kurser inden for grundlæggende programmering

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

IT-JOB