page net mvc example error custom aspx asp asp.net web-config custom-error-pages custom-errors

mvc - Implementación de una página de error personalizado en un sitio web ASP.Net



mvc error page example (4)

Tengo un sitio web ASP.Net y quiero usar una página de error personalizada. Pongo el siguiente código en mi web.config

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

El problema es que cuando voy a una URL que no existe, todavía se utiliza la página de error 404 especificada en el Administrador de IIS.

Pregunta: ¿Cómo puedo hacer que use la página error.aspx que he creado? ¿Por qué las configuraciones en el Administrador de IIS anulan el web.config?


Hay 2 formas de configurar páginas de error personalizadas para sitios ASP.NET:

  1. Administrador de Internet Information Services (IIS) (la GUI)
  2. archivo web.config

Este artículo explica cómo hacer cada uno:

La razón por la que no se muestra la página error.aspx es porque tiene un error en su web.config. Intenta esto en su lugar:

<configuration> <system.web> <customErrors defaultRedirect="error.aspx" mode="RemoteOnly"> <error statusCode="404" redirect="error.aspx"/> </customErrors> </system.web> </configuration>

Es posible que deba asegurarse de que las Error Pages en el Administrador de IIS - Delegación de funciones estén configuradas en Lectura / Escritura :

Además, esta respuesta puede ayudarlo a configurar el archivo web.config:


Intenta de esta manera, casi igual ... pero eso es lo que hice, y trabajando.

<configuration> <system.web> <customErrors mode="On" defaultRedirect="apperror.aspx"> <error statusCode="404" redirect="404.aspx" /> <error statusCode="500" redirect="500.aspx" /> </customErrors> </system.web> </configuration>

o intente cambiar la página de error 404 desde la configuración de IIS, si es necesario.


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

El código anterior es solo para "Error de página no encontrada-404" si se conoce la extensión del archivo (.html, .aspx, etc.)

Junto a él, también ha configurado Errores del cliente para la extensión desconocida o incorrecta como

.aspwx o .vivaldo . Tienes que agregar la configuración de httperrors en web.config

<httpErrors errorMode="Custom"> <error statusCode="404" prefixLanguageFilePath="" path="/404.aspx" responseMode="Redirect" /> </httpErrors> <modules runAllManagedModulesForAllRequests="true"/>

debe estar dentro del <system.webServer> </system.webServer>


<system.webServer> <httpErrors errorMode="DetailedLocalOnly"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="your page" responseMode="Redirect" /> </httpErrors> </system.webServer>