Qualcosa su di me

Mi chiamo Andrea Moro, sono un appassionato di informatica da quando avevo 8 anni e da quando mio padre mi regalò il C64.

Qualche anno più tardi, il mio primo pc e nel 1994 la prima esperienza con Internet, di cui mi sono subito innamorato e con cui oggi mando avanti la mia attività di Web Designing e posizionamento nei motori di ricerca.

View Andrea Moro's profile on LinkedIn

Calendar

<<  novembre 2008  >>
lumamegivesado
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar


RSS

Dopo un precedente articolo sull'errore 404 lato SEO, oggi parlo dell'errore 404 lato ASP.Net e IIS. Il perchè bisogna configurarlo l'ho spiegato nell'articolo sopra citato, come configurarlo nell'ambiente Microsoft lo faccio ora.

imageEsistono due modi, complementari, per configurare l'errore 404 in ASP.Net /IIS6. Complementari perchè uno non esclude l'altro.

Data l'architettura del framweork, una volta che la richiesta giunge al server, questa a seconda dell'estenzione che il file richiesto ha, può subire un dirottamente all'interno della pipeline.

I file statici, quindi i file .htm e .html (ma anche i .css e tutte le immagin) verranno smistati automaticamente verso l'handler che si preoccupa di gestire i file statici (StaticFileModule), mentre i file con estenzione .aspx verranno gestiti dall'handler aspnet_isapi.

imageDati questi due percorsi differenti, ne consegue che qualora venga inoltrata una richiesta per una risorsa non esistente sul server di destinazione, la risposta 404 procederà per due vie completamente distinte.

Quella dei file statici verrà inoltrata direttamente ad IIS, il quale ritornerà al client la pagina associata al codice di errore 404 configurata all'interno della proprietà del sito.

Di default viene restituita una pagina brutta e asettica come quella che si vede qui sotto, ma agendo nelle proprietà di configurazione del sito si può impostare un qualsiasi tipo di risorsa, anche appartenente ad un altro sito web.

image

Nel caso di una risorsa .aspx non trovata, le cose sono leggermente diverse.

A preoccuparsi di restituire una pagina d'errore è lo stesso framwork.

Ovviamente, di default, la gestione delle pagine non trovate non è abilitata, e nel caso viene mostrata una pagina d'errore (per alcuni) più criptica e sempre antiestetica.

 

image

 

Per poter abilitare la gestione delle pagine non trovate, in questo caso bisogna agire all'interno del file Web.Config, andando a creare, laddove non esista già, una sezione CustomErrors.

 

Un esempio può essere come quello qui sotto:

        <customErrors mode="On">
            <error statusCode="404" redirect="/404.aspx" />
        </customErrors>

In questo caso, il framework reindirizzerà la richiesta verso il file statico 404.html. Nulla vieta di mettere una pagina con estenzione .aspx che faccia del lavoro per noi, tipo mandare une e-mail all'amministratore del sito, piuttosto che registrare degli eventi in un file di log, ecc.

Medesimo discorso vale anche per la configurazione del Custom Error statico. Impostando una risorsa di tipo URL si può specificare un percorso assoluto e rimandare il tutto ad una pagina dinamica, con il vantaggio che si potrà creare una sola pagina e gestire in entrambe i casi il problema della risorsa non trovata.

 

 

 


Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Aggiungi commento


(Visualizza la tua icona Gravatar)  

  Country flag


  • Commento
  • Anteprima
Loading



Advanced Technology

Abruzzo SEO specialist, .Net programming and computer stuff