2010-01-29 10 views
14

Tengo un sitio web ASP.Net y deseo utilizar una página de error personalizada. Pongo el siguiente código en mi web.configImplementación de una página de error personalizado en un sitio web de ASP.Net

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

El problema es cuando voy a una dirección URL que no existe todavía es utiliza la página de error 404 se especifica 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 IIS anulan el web.config?

+0

Estoy usando IIS 6 en Server 2003. – Yeodave

Respuesta

23

Pruebe de esta manera, casi lo mismo ... pero eso es lo que hice y funcioné.

<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 con urgencia.

+0

Si tengo la etiqueta fuera de las etiquetas , aparece un error. Tengo que poner una etiqueta de cierre después de las etiquetas de error, pero todavía no funciona. – Yeodave

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

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

Junto a ella también se ha establecido errores del cliente para la extensión no sabe o no es correcto como

.aspwx o .vivaldo. Usted tiene que agregar httperrors ajustes 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>

4

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

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

En este artículo se explica cómo hacer cada uno:

La razón de su página error.aspx no muestra podría ser porque tiene un error en su web.config. Tal vez puedas probar:

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

Es posible que tenga que asegurarse de que Error Pages en Administrador de IIS - Característica Delegación se establece en de lectura/escritura:

IIS Manager: Feature Delegation panel

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

Cuestiones relacionadas