2014-06-09 16 views
7

Ich versuche, einen 404-Statuscode mit meiner benutzerdefinierten Fehlerseite zurückzugeben. Allerdings bekomme ich immer 200 zurück, da die Seite tatsächlich existiert, soweit der Browser und der Server dies feststellen können.Eine benutzerdefinierte 404-Seite mit 404 Statuscode in MVC zurückgeben?

Was ich bisher versucht, ist:

<customErrors mode="On" defaultRedirect="~/404" > 
    <error statusCode="404" redirect="~/404"/> 
</customErrors> 

Wo 404 eine Route zum ist Controller und die Aktion „Seite nicht gefunden“.

Ich habe auch versucht, mit meiner Aktion des Statuscode zu setzen ..

public ActionResult PageNotFound(string locale) 
{ 
    Response.StatusCode = 404; 
    return View(); 
} 

Aber das endet einfach mit der Anzeige der Standardserver-Fehlerseite (die grau-ish mit dem roten Fehlermeldungstext) nach oben

Irgendwelche Ideen, wie man das umgehen kann?

+0

Es Es sieht so aus, als ob Ihre Frage hier bereits eine Antwort hat: http: // stackove rflow.com/questions/5635114/returning-404-error-asp-net-mvc-3 –

Antwort

7

hatte ich das gleiche Problem und die Lösung gebucht here:

public ActionResult NotFound() 
{ 
    Response.StatusCode = 404; 
    Response.TrySkipIisCustomErrors = true; <--- 
    return View(); 
} 
Verwandte Themen