Я пытаюсь создать страницу с ошибкой 404, и в настоящее время у меня есть все следующее / пробовал все следующее, чтобы попытаться выполнить это. Когда пользователь вводит:
http://name/something.aspx
Это работает так, как и должно. Но если пользователь вводит:
http://name/NotAFile
без .aspx, тогда IIS7 берет дело в свои руки, и я получаю прекрасную страницу с ошибкой, с которой идет IIS7. Цель состоит в том, чтобы сайт перенаправлял только с кодом статуса 404 (то есть не перенаправление 200 или 302). Я пробовал в обоих веб-конфигурации с:
<customErrors mode="On" defaultRedirect="~/error/Default.aspx redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/error/NotFound.aspx" />
</customErrors>
Это работает для URL с расширением .aspx, но не без расширения. То же самое с таким подходом в global.asax
void Application_Error(object sender, EventArgs e)
{
var serverError = Server.GetLastError() as HttpException;
if (serverError != null)
{
if (serverError.GetHttpCode() == 404)
{
Server.ClearError();
Server.Transfer("~/error/NotFound.aspx");
}
Server.Transfer("~/error/Default.aspx");
}
}
Для этого имеются те же результаты :( Моя последняя попытка была применить это к веб-конфигурации:
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
С этим я получаю простой белый экран, на котором ничего нет ...
Любые мысли или комментарии будут с благодарностью! Заранее спасибо!