Perché asp.net passa dalle normali 404 risposte quando non ci sono errori personalizzati per rispondere con 302 o 200 quando si attivano gli errori personalizzati?Pagina di errore personalizzata ASP.NET Risposta HTTP
Così, per esempio ho provato tutti i seguenti:
<customErrors defaultRedirect="Error.aspx" mode="Off">
<error statusCode="404" redirect="Error.aspx?status=404" />
</customErrors>
e
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="ExecuteURL" />
</httpErrors>
e
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="Redirect" />
</httpErrors>
Per quanto posso dire quello superiore dà un 302 come reindirizza alla pagina di errore, la seconda dà 200 per qualche motivo e quella finale dà anche un 302. Questo sembra piuttosto sciocco come voglio ancora un 404 (o qualunque altro codice di errore) ma per visualizzare un messaggio amichevole.
Mi rendo conto che posso inviare una risposta diversa con la mia pagina di errore ma che sembra dare il codice 404 alla pagina di errore e mantiene il 302 sulla richiesta originale.
A meno che non mi manca qualcosa ...