I've got customErrors set in my web.config
<customErrors mode="On" defaultRedirect="/Error/GeneralError">
<error statusCode="404" redirect="/Error/NotFound"/>
</customErrors>
This works fine locally. A 404 throws a 404. On the shared hosting it throws up the standard server 404 page unless I specifically set 404 to point to /Error/NotFound. That's fine. Now it will show the custom 404 page except the response status code is 200. So if I try to throw Response.StatusCode = 404; in my NotFound action in ErrorController like this:
public class ErrorController : Controller
{
public ActionResult NotFound()
{
Response.StatusCode = 404;
return View();
}
}
the server throws a status code 500 Internal Server Error but my GeneralError page doesn't show, just a blank white page with no source.
I've tried many different combinations but I can't seem to find how to make it show my custom 404 page along with a 404 response.
Any ideas?