Redazione
a- a+

Personalizzare errore 404 con ASP.NET

Vediamo come fare a personalizzare l'errore 404 (File Not Found) in modo semplice e veloce. Esempio

L’Errore 404 ovvero File Not Found è il codice dell’errore di pagina web non trovata. L’errore scaturisce quando un client effettua una richiesta HTTP e il file della pagina richiesta non è possibile trovarlo.

Questo errore, se non amministrato, visualizza sul browser del client la seguente pagina:

 

L’amministratore del sito Web può configurare e personalizzare la pagina dell’errore 404 accedendo direttamente al Server IIS seguendo la semplice procedura qui descritta

Accedere al pannello di controllo di IIS cliccando col tasto destro su

Risorse del computer / Gestione

Accedere all’ultima voce

Servizi e applicazioni / Internet Information Service

Cliccando su uno dei siti presenti su IIS compariranno le varie risorse:

Accedere alla scheda Pagina errori facendo doppio clic sull’icona e localizzare nell’elenco la voce 404 e in seguito fare doppio clic per accedere alla Modifica

Cliccare sul tasto imposta e quindi scegliere dall’Hard Disk il file personalizzato e confermare la decisione.

Questa impostazione, come abbiamo visto, ha necessariamente bisogno di accedere al Server IIS. Ma, quando gli utenti richiedono risorse gestite da ASP.NET, possiamo anche impostare la personalizzazione degli errori senza accedere direttamente ad IIS ma sfruttando le potenzialità messe a disposizione del framework.NET.

La possibilità offerta dal framework consiste nel ridirigere errori specifici come l’errore 404 ad opportune pagine, con la possibilità di mascherare all’utente eventuali problemi oltre ad avvisare gli amministratori dell’errore generato. Per ottenere ciò occorre utilizzare il tag <customErrors> della sezione <system.Web> presente nel file di configurazione web.config. Questo tag prevede un attributo, di nome mode, che indica come e se attivare la gestione custom degli errori. I possibili valori che può assumere sono:

  • On:  gli errori personalizzati sono attivati. Se non si specifica alcun attributo defaultRedirect, viene visualizzato un errore generico. Gli errori personalizzati vengono visualizzati sui client remoti e sull’host locale. Il defaultRedirect indica l’URL di default a cui ridirigere un browser nel caso si verifichi un errore.
  • Off:  gli errori personalizzati sono disabilitati. Gli errori ASP.NET dettagliati vengono visualizzati sui client remoti e sull’host locale.
  • RemoteOnly: gli errori personalizzati vengono visualizzati solo sui client remoti, mentre gli errori ASP.NET dettagliati vengono visualizzati sull’host locale. Rappresenta il valore predefinito.

È tuttavia possibile personalizzare ulteriormente il comportamento del CustomErrors specificando il tag addizionale <error> per tutte le volte che vogliamo reindirizzare un browser come risposta ad uno specifico errore HTTP. Nell’esempio seguente viene illustrato come configurare la gestione degli errori. Le impostazioni specificano che gli errori personalizzati vengono visualizzati solo sui computer client remoti. Quando si verifica un errore non specificato, viene visualizzata la pagina erroreGenerico.aspx. Se si verificano gli errori HTTP 403 (accesso negato) o HTTP 404 (file non trovato), quando gli utenti richiedono risorse gestite da ASP.NET vengono visualizzate le pagine NoAccess.aspx ed errore404.aspx.

<customErrors mode="RemoteOnly" defaultRedirect=" erroreGenerico.aspx">
  <error statusCode="403" redirect=" NoAccess.aspx" />
  <error statusCode="404" redirect=" errore404.aspx" />
</customErrors>

L’attributo statusCode del tag <error> indica il tipo di errore che si deve verificare per essere dirottato alle pagine specifiche, nel nostro caso il 403 ed il 404.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Sara
Hai dubbi su questo articolo?