Переадресация при 404 asp mvc

209
17 мая 2018, 10:20

Как сделать, что бы при неверном url происходила переадресация на главную страницу ? Я пытаюсь реализовать это добавлением в web.config :

<customErrors mode="On" defaultRedirect="~/uploadController/Index">
  <error statusCode="404" redirect="~/uploadController/Index" />
</customErrors>

Но все равно получаю страницу с ошибкой при неправильном адресе :

HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

UPD RouteConfig :

 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
        routes.MapRoute("NotFound",
        "{*url}",
         new { controller = "uploadController", action = "Index" }
        );
    }

Контроллер uploadController распологает методом Index.

Answer 1

Добавьте код после всех маршрутов:

routes.MapRoute(
    "NotFound",
    "{*url}",
    new { controller = "uploadController", action = "Index" }
);
Answer 2

Решение оказалось достаточно простым. Пришлось создать новый контроллер :

public ActionResult Index()
{
    return RedirectToAction("Index","upload");
}

Который и осуществляет переадресацию от неверных URL. А в файле Web.config необходимо добавить :

<customErrors mode="On" redirectMode="ResponseRedirect">
  <error statusCode="404" redirect="~/Ooops/Index" />
</customErrors>

Так можно перенаправить запрос если в url есть некоторые ошибки. Однако если в url добавить точку и случайный символ то упадет стандартная 404 страница.

READ ALSO
Убрать рамку с groupbox c#

Убрать рамку с groupbox c#

Надо полностью убрать рамку с groupboxЧтоб остались только элементы внутри

484
C# парсинг html-страницы с помощью AngleSharp

C# парсинг html-страницы с помощью AngleSharp

Подскажите литературу на русском языке по парсингу html с помощью AngleSharp?

206
Не могу добавить в источники данных БД SQLite

Не могу добавить в источники данных БД SQLite

Установил пакеты Nuget для SQLiteВ ссылках он есть

264
WebAPI - запрос с query-параметрами

WebAPI - запрос с query-параметрами

Делаю API: Конфиругация:

197