ASP vartotojo HTTP atsakymo klaidų puslapis

Kodėl asp.net perėjimas nuo 404 įprastų atsakymų įvyksta, kai nėra tinkamų klaidų atsakant su 302 arba 200, kai įgalintos tinkintos klaidos?

Taigi, pavyzdžiui, bandžiau visus šiuos dalykus:

 <customErrors defaultRedirect="Error.aspx" mode="Off"> <error statusCode="404" redirect="Error.aspx?status=404" /> </customErrors> 

ir

 <httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" path="/error.aspx?status=404" responseMode="ExecuteURL" /> </httpErrors> 

ir

 <httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" path="/error.aspx?status=404" responseMode="Redirect" /> </httpErrors> 

Kiek aš galiu pasakyti, viršutinė dalis suteikia 302, nes ji nukreipiama į klaidų puslapį, antroji - 200 dėl kokios nors priežasties, o pastaroji taip pat suteikia 302. Tai atrodo gana kvaila, nes vis dar noriu 404 (arba bet kokio kito klaidos kodo) ), bet rodyti draugišką pranešimą.

Suprantu, kad galiu siųsti kitą atsakymą su mano klaidų puslapiu, tačiau, atrodo, tai suteikia 404 klaidos puslapio kodą ir išsaugo 302 originaliame prašyme.

Jei kažko trūksta ...

8
12 июня '13 в 17:02 2013-06-12 17:02 radm4 nustatytas birželio 12 d., 13 val., 17:00 val. 2013-06-12 17:02
ответ 1 atsakymas

Jūs teisus, ASP.NET elgiasi šiek tiek juokinga, kai customErrors “. Trumpai tariant, galite nustatyti redirectMode="ResponseRewrite" norite customErrors redirectMode="ResponseRewrite" customErrors ir specialiai nustatyti atsakymo kodą „error.aspx“ puslapyje.

Čia parašiau išsamią informaciją: laikykite ASP.NET klaidų puslapius nuo paieškos sistemų .

4
13 июня '13 в 0:02 2013-06-13 00:02 Atsakymą pateikia klingsas birželio 13 d. 13 val. 0:02 2013-06-13 00:02

Kiti klausimai apie žymes atsakyti arba Užduoti klausimą