Почему IIS 6 не будет обслуживать мою пользовательскую страницу 404, когда я задаю URL-адрес в «Пользовательские ошибки»? - PullRequest
1 голос
/ 09 марта 2010

У меня есть сайт ASP.NET MVC и у меня есть контроллер ошибок с действием NotFound, которое отлично работает для 404 ошибок, которые проходят через .NET, но для вещей, которые не (например, статические файлы) установил значение пользовательских ошибок для 404 для URL со значением /Errors/NotFound.

Но когда я делаю это и перехожу на несуществующую страницу, сайт просто сообщает мне:

Система не может найти указанный путь.

Это потому, что это динамический URL, может ли IIS не перенаправить 404 запроса на динамические URL или я где-то испортил конфигурацию?

ОБНОВЛЕНИЕ: это часть ошибок файла web.config

<customErrors mode="RemoteOnly" defaultRedirect="~/Error">
    <error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>

1 Ответ

0 голосов
/ 09 марта 2010

У меня это работает в MVC и IIS6.

<customErrors mode="RemoteOnly" defaultRedirect="~/Error">
    <error statusCode="404" redirect="~/Error/PageNotFound" />
</customErrors>

Это мой контроллер.

public class ErrorController : Controller
{
    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Index()
    {
        return View();
    }

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult PageNotFound()
    {
        return View();
    }
}
...