risposta

12

È necessario prima di aggiungere una pagina di errore personalizzata URL nel web.config:

<customErrors mode="On" defaultRedirect="~/Error/404" /> 

E aggiungere un controller per gestire gli URL non validi:

public class ErrorController:Controller 
    { 
     [ActionName("404")] 
     public ActionResult Error404() 
     { 
      return View("Error"); 
     } 
    } 

e se si vuoi reindirizzare l'utente alla home page, quindi non hai bisogno del controller Errore, modifica il tag di errore personalizzato:

<customErrors mode="On" defaultRedirect="~/Home/Index" /> 
+0

Questo sembra corretto ... –

+0

Grazie Marwan e Arnis. Ha funzionato – Prasad

+1

In realtà, ne avrò bisogno presto. Ho anche aiutato me stesso (ha favorito questa domanda). –

0

Penso che ogni richiesta debba essere reindirizzata al front controller, quindi avvolgi il tuo codice all'interno di un blocco try/catch che intercetta l'eccezione e forse puoi reindirizzare alla homepage nel blocco catch o semplicemente generare un errore 404 con un gestore di eccezioni.

Qual è la lingua del server utilizzata?

+0

sto usando MVC con C#. – Prasad

+0

È etichettato asp.net-mvc-routing –

+0

Ci scusiamo per essere irrilevanti ^^ –

1

Intendevi questo?

// Show a 404 error page for anything else. 
    routes.MapRoute("Error", "{*url}", 
    new { controller = "Error", action = "404" } 
); 
+1

ya esattamente così, ma quando ho usato quel codice, il suo non reindirizzamento alla pagina specificata. Ancora mostrando "La risorsa non può essere trovata.". Ho aggiunto quanto segue in Global.asax.cs: routes.MapRoute ("Errore", "{* url}", nuovo {controller = "Casa", azione = "Indice"}); – Prasad