2014-12-03 17 views
0

Я нашел пару решений для страниц ошибок в MVC. Большинство решений основаны на маршрутах и ​​отдельном контроллере ошибок. Но мне нужны самые простые страницы ошибок на основе html, без предварительной обработки.404.html, корневой каталог ASP.NET MVC

Есть ли способ подавать файлы 404.html, 403.html и 500.html в обход файла маршрутов в качестве статического содержимого?

Я поместил эти три HTML-файлы в моем ~/Views/Shared/ и следующий в web.config, один в корневом каталоге приложения:

<system.web> 
    <customErrors mode="Off" /> 
    <error redirect="~/500.html" statusCode="500" /> 
    <error redirect="~/404.html" statusCode="404" /> 
    <error redirect="~/403.html" statusCode="403" /> 
    </customErrors> 
</system.web> 

Но он бросает ошибку на третьей строке выше XML локально и из удаленного он выдает 500 внутренних ошибок с темой IIS по умолчанию.

Какая директория считается root для обслуживания статических файлов HTML?

+0

Вы пробовали корневой каталог? – asawyer

+0

Вы имеете в виду корень проекта? Да, это тоже не сработало. – Annie

ответ

2

CustomErrors режим должен быть "On" или "RemoteOnly", а тег CustomErrors не должен быть закрыт, - как @Preyash Desia заявил

<customErrors mode="On"> 
+1

Вы спрашиваете или отвечаете? –

+0

Согласен, не лучший способ ответить. Спасибо за ваш отзыв. Ответ обновлен. –

1
<system.web> 
    <customErrors mode="Off"> 
    <error redirect="~/500.html" statusCode="500" /> 
    <error redirect="~/404.html" statusCode="404" /> 
    <error redirect="~/403.html" statusCode="403" /> 
    </customErrors> 
</system.web> 

У вас есть дополнительные "/" в конце строки 2, ее недопустимый xml; убери это.

Смежные вопросы