Я использую сайт ASP.Net 4 в Windows 2008 R2 с IIS 7.5.
При разработке я также использую Windows 7 и VS 2010 с IIS 7.5.
I 'я настроил мой web.config следующим образом:
<customErrors mode="On" defaultRedirect="~/Error500.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/Error404.aspx"/>
</customErrors>
И моя страница Error404.aspx имеет такой код:
protected void Page_Load(object sender, EventArgs e)
{
Response.StatusCode = 404;
}
На моей машине разработчика это работает нормально, ясм. мою красивую страницу с ошибками в браузере, и с помощью Fiddler я могу подтвердить, что я получаю только статус HTTP 404.
Теперь, когда я публикую его на своем сервере, это другая история.Здесь я увижу собственную страницу 404 IIS ("C: \ inetpub \ custerr \ en-US \ 404.htm")
Если я удалю Response.StatusCode из моего кода, я получуна сервере - страница ошибок, хотя и с HTTP-статусом 200.
Что я пропускаю, так как это не работает?