asp.net iis web-config http-status-code-404 custom-errors

ASP.NET/IIS: 404 para todos los tipos de archivos



web-config http-status-code-404 (7)

  1. Puede configurar la asignación de comodines en IIS (Configuración de la aplicación / Asignaciones / Asignaciones comodín / - simplemente configure aspnet_isapi.dll como ejecutable y desmarque la casilla Verificar que el archivo exista) que enrutará todas las solicitudes entrantes a su aplicación, para que pueda controlar el comportamiento directamente desde allí.

  2. No tiene que configurar la página estática en la configuración de la aplicación IIS. Imho, debería ser capaz de configurar una URL válida (por ejemplo, /error_handler.aspx) de su aplicación que se utilizará como página de destino en caso de error específico del servidor.

Configuré la página del controlador 404 en web.config, pero funciona ÚNICAMENTE cuando la extensión de la URL es .aspx (u otra que maneja ASP.NET). Sé que puedo configurar la página HTML estática en las opciones del sitio web, pero quiero tener una página. ¿Hay alguna opción para asignar la página del controlador ASPX para todas las extensiones de solicitud en IIS?


El web.config solo puede configurar páginas de errores para páginas controladas por su sitio web. Si tiene otras páginas fuera del alcance de la aplicación ASP.Net, configure el manejo para ellas en IIS. Hay una opción para configurar la página 404 donde puede dirigirla a su página personalizada.


En la configuración de la aplicación IIS, puede establecer una asignación de comodín (". *") En C: / WINDOWS / Microsoft.NET / Framework / v2.0.50727 / aspnet_isapi.dll


La pregunta directa era si había o no opciones para asignar el controlador ASPX a todas las extensiones de solicitud: sí, sí. Discutiré cómo hacerlo en breve.

Primero, creo que la pregunta "oculta" -la respuesta que realmente desea- es si hay o no una forma de redirigir todos los errores 404 para páginas que no sean ASPX, ASMX, etc. Sí, hay, y este es el mejor elección si va a resolver el problema que está teniendo.

Para redirigir todos los 404 en IIS 6, haga clic con el botón derecho en la raíz de la aplicación web (ya sea en su propio sitio o en un directorio virtual en el sitio principal) y seleccione "Propiedades". A partir de ahí, elija la pestaña "Errores personalizados". Busque 404 en la lista y cámbielo a la redirección que desee.

Ahora, si eso no es suficiente, y realmente espero que sí, sí, puede ejecutar cada página a través del controlador ASPX. Sin embargo, hacerlo tiene un costo bastante alto en términos de eficiencia: la entrega de HTML / imágenes en bruto es considerablemente más rápida que cualquier otra dinámica.

Para hacer esto, haga clic con el botón derecho en la raíz de la aplicación web y seleccione "Propiedades". Elija la pestaña "Directorio de inicio". Haga clic en "Configuración" aparecerá una nueva ventana. Copie la ruta desde uno de los servidores de la página ASP.NET y luego úselo para un mapa de aplicación de comodines.

Tenga en cuenta, una vez más, que esta es la respuesta incorrecta la mayor parte del tiempo. Tendrá un impacto negativo en tu rendimiento, y es el equivalente a usar una motosierra para tallar un pavo. Recomiendo encarecidamente la primera opción sobre esta, si funciona para usted.


Para información:

Esta es una de las muchas cosas buenas que trae IIS7: todas las páginas se enrutan a través del controlador para que pueda hacer 404 personalizados y, de manera útil, seguridad de nivel de archivos y directorios para cualquier archivo (basado en el mismo elemento web.config que para asp archivos .net anteriores a IIS7).

Así que, teóricamente, "use II7" es una respuesta (será "la" respuesta a tiempo), pero por supuesto no es terriblemente práctica si no está alojado en W2k8 (o superior).


Solo otra cosa en la que puedo pensar es pasar TODAS las extensiones a asp.net.

De esta forma, asp.net procesará todos los tipos de archivos y su página de error personalizada funcionará.


En IIS puede establecer un error personalizado para errores 404 y dirigirlo a una URL en las propiedades del sitio.

Muestra un html estático de forma predeterminada C: / WINDOWS / help / iisHelp / common / 404b.htm

Puede cambiarlo a una url relativa en su sitio.