webForumDet fria alternativet

HTTP 404 - File not found

ASPur ASP

17 svar · 399 visningar · startad av kb00obfr

kb00obfrMedlem sedan nov. 200229 inlägg
#1

Hej!

Söker en liten kodsnutt som kan kolla ifall en länk ger http fel nummer 404, dvs om det inte finns någon sida dit länken är pekad. Om det finns en sida, så ska den ursprunliga länken gälla, annars en annan. Har sökt i forumet, men inte hittat något.

tack i förväg!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

vill du ha en egen 404 sida? är det så jag förstår det? med IIS så kan du ge dina sidor olika 404 sidor... lär finnas om du söker

CatZMedlem sedan jan. 20022 440 inlägg
#3

Nej jag har hört talas om det också men det måste ju sega rätt ordentligt, antar att du ska ha det till en länksamling eller liknande.

Posta gärna kodsnutten ifall någon hittar den

kb00obfrMedlem sedan nov. 200229 inlägg
#4

nja, det är ingen egen 404 sida som jag vill göra. bara göra så att om man klicka på en länk som leder till en blank sida så kommer det upp en annan sida som säger att "info kommer snart" eller något liknande. Detta medelande ska ju inte komma upp om användaren bara har skrivit fel adress :)

CatZMedlem sedan jan. 20022 440 inlägg
#5

använder du databas ? I så fall kan man ju ordna det enkelt...

kb00obfrMedlem sedan nov. 200229 inlägg
#6

hur menar du då?

det är en sida som beroende på vad man klickat på innan visar länkar till olika ställen. målet för länken är en sida som jag lägger upp. då det rör sig om många sidor och jag inte kan lägga upp alla nu, så vill jag ha texten "på väg" om det inte finns någon sida där länken pekar. hänger ni med?

solbulleMedlem sedan mars 20015 287 inlägg
#7

Jo du, antingen är det nog 404-sidan du ska in i. Där kan du skriva så att ett speciellt meddelande kommer fram endast om du klickade på en länk just på din länksida. (Eller vad du nu vill.)

Alternativ 2 som jag ser det är att ha länkarna i databas som nämns ovan, och då ha en markering i db:n om länken är ok eller inte. Då får du när du är klar med målsidan klicka ur markeringen i db:n.

kb00obfrMedlem sedan nov. 200229 inlägg
#8

om jag har en sida som heter "krångligtnamn.htm" och användaren skriver nått annat, då vill jag ju att en 404 sida ska visas (standard, eller en jag gjort). Men i detta fallet så vill jag bara ha en tillfällig sida som går upp om en länk på min sida pekar mot en sida som inte finns. Då kan jag ju inte ändra 404 sidan eftersom då kommer infon "kommer snart" att komma även om de bara stavar fel på min sida enligt det första jag skrev...

OveRRidEMedlem sedan feb. 200112 078 inlägg
#9

Och hur har du tänkt att skilja på när det är en felstavning och en sida som inte finns? Telepati?

Om användaren skriver fel adress till filen, får han/hon väl skylla sig själv och väl äta upp 404-meddelandet. Dessutom; hur många skriver in en URL till en sida på servern i dag? Alla kör bokmärken eller använder din sidas href:ar, annars är det väl något fel i tänket. :)

kb00obfrMedlem sedan nov. 200229 inlägg
#10

nä. det är så att det ska vara ett skript på vissa sidor som kollar om länkarna därifrån är ok. det där jag hittade på med att skriva fel adress var bara för att få folk att fatta att det INTE handlar om att göra en 404 sida, utan ett skript som känner av ifall en länk är död. ok?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#11

Hrm, ok.

Jag förstår din tankegång, men inte varför.

Det du skulle kunna göra är att kolla ifall filen finns med FSO:

filepath = "mapp/mapp2/file.asp"
set fso = server.createobject("Scripting.FileSystemObject")
if fso.FileExists(filepath) then
   response.write "ja, den finns"
else
   response.write "nej, den finns inte"
end if
set fso = nothing

Huruvida appliceringen på varje hyperlänk skall gå till, det har jag ingen aning om. :)

solbulleMedlem sedan mars 20015 287 inlägg
#12

Iofs har du släppt tanken (om du någonsin haft den) på en 404-sida. Men... du kan visst göra som så att ett meddelande dyker upp. - Till viss del.

Min tanke vara att man på 404-sidan kollar varifrån man kom, och kom man då från din länksida kan man ju anta att det var med hjälp av en ofärdig länk.
Då visar du ett snällt meddelande om att du inte hunnit fixa länken till den sidan.

Om inte refererande sida är din länksida, då visar du ett meddelande typ:

"Vad håller du på med din klantiga analfabet, lär dig skriva rätt adress!"

Iofs bygger detta på att det är länkar på din site endast, med din 404-sida.

Ska man göra ett script som gör det du säger måste ju på något sätt servern "springa före" och kolla om sidan finns och sen länka rätt beroende på det svaret, resurskrävande skulle jag tro. Men skulle väl iofs kunna gå med typ FSO alt. XMLHttp.
(Beroende på interna eller externa länkar.)

solbulleMedlem sedan mars 20015 287 inlägg
#13

Å där hann OveRRidE posta en FSO-lösning medans man satt oskrev. :)

CatZMedlem sedan jan. 20022 440 inlägg
#14

hmmm men vad med URL_GETNEXT och sånt ?

Eller kanske att man kör en server.execute url och hanterar den som error ifall den inte hittas?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#15

Jag har en idé. :i

Sidan med länkar:

<a href="validateUrl.asp?url=minmapp/sida.asp">Sida.asp</a>

validateUrl.asp:

function validateurl(url)
   filepath = url
   set fso = server.createobject("Scripting.FileSystemObject")
   if fso.FileExists(filepath) then
      validateurl = true
   else
      validateurl = false
   end if
   set fso = nothing
end function

'anrop
blnOk = validateurl(request.querystring("url"))

if blnOk = true then
   response.redirect request.querystring("url")
else
   response.write "Denna sida kommer snart."
end if

Detta innebär kort förklarat att istället för att skriva dina a href:ar till sidan direkt, länka alltid till sidan validateUrl.asp och skicka sidan som är länken som querystring:en url.

Förstår du?

CatZMedlem sedan jan. 20022 440 inlägg
#16

Vackra tankar från en ÖveRKörD!

Men det lär ju inte funka på http:// länkar :)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#17

Men det lär ju inte funka på http:// länkar

Det är inte meningen heller. ;)

kb00obfrMedlem sedan nov. 200229 inlägg
#18

okey, tack för alla förslagen, jag prövar lite själv nu. Tog fasta på det där med resurskrävande...

138 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)