Я пытаюсь настроить 500 и 404 страницы для проекта веб-форм ASP.NET 4.5.2. У меня работает 404, когда несуществующей страницей является страница .ASPX. - У меня есть код, написанный для предоставления пользовательской страницы NotFound.aspx в ответ.
Моя проблема возникает, когда я использую Web.config для обслуживания страницы 404.html для несуществующих HTML-страниц. Моя страница 404.html находится в корневой папке. Если я проверю это с несуществующей HTML-страницей в корневой папке, 404.html будет отображаться правильно. Однако если я протестирую его с несуществующей HTML-страницей в несуществующей подпапке, файл 404.html будет доставлен, но пути CSS / JS больше не будут правильными? Это похоже на то, что трактует пути CSS / JS как относящиеся к несуществующей подпапке, которую я указываю как часть теста?
Global.asax.cs:
void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex != null && ex is HttpUnhandledException)
{
Server.ClearError();
Server.Transfer("~/Error.aspx", true);
}
if (ex != null)
{
var httpException = ex as HttpException;
if (httpException.GetHttpCode() == 404)
{
Server.ClearError();
Server.Transfer("~/NotFound.aspx", true);
}
}
}
Web.config:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<error statusCode="404" path="404.html" responseMode="File" />
</httpErrors>