Effettuare un Redirect su un customError

Spesso, quando ci si trova a realizzare pagine web il cui risultato è fortemente legato ad una variabile come potrebbe essere un ID, si può avere la necessità di effettuare un Redirect verso la pagina di customError specificata nel web.config, comunicando così al bot del motore di ricerca che il contenuto ricercato non è presente, e non deve quindi essere indicizzato.
La soluzione è presente nel .NET Framework e ci basta sollevare una HttpException specificando lo status code che si intende restituire come mostrato di seguito:

 

if (post == null)
    throw new HttpException(404, "Data not found");

Per quanto riguarda il file di configurazione, esso dovrebbe essere tipo il seguente:

<customErrors mode="On" defaultRedirect="/Errors/Generic.aspx">
    <error statusCode="403" redirect="/Errors/403.aspx" />
    <error statusCode="404" redirect="/Errors/404.aspx" />
</customErrors>

Precedentemente in questo post avevo proposto una soluzione basata su un extension method ma, esistendo già un qualcosa di analogo nel .NET Framework, aveva poco sensoe quindi il post è stato cambiato.

Ciauz


Comments