"La página que está solicitando no se puede servir debido a la configuración de la extensión". mensaje de error


272

Recibo este mensaje de error cuando intento ejecutar mi aplicación. No sé cómo solucionarlo:

Error HTTP 404.3 - No encontrado La página que está solicitando no se puede servir debido a la configuración de la extensión. Si la pagina es un script, agregue un controlador. Si el archivo debe descargarse, agregue un mapa MIME.

Aquí hay una captura de pantalla de la página de error: texto alternativo

¿Qué puedo hacer para corregir este error?


1
el código fuente sería más útil que la página de error
gsharp

1
¿Qué parte del código fuente necesitarías ver?

1
Después de seguir las instrucciones anteriores, también si obtiene el mismo error, siga con el siguiente enlace y siga los pasos Haga clic aquí
Raj

Respuestas:


170

Use aspnet_regiis.exe para registrar la versión de .NET framework que está utilizando.

Este es un problema común y ocurre cuando IIS se instala después de VS o .NET framework.

Nota: para usuarios de Windows 8/10, vea la otra respuesta de JohnOpincar a continuación . Y también el comentario / consejo de Kevin Brydon.


11
De hecho, instalé Visual Studio primero y luego IIS. Actualmente estoy ejecutando el comando "aspnet_regiis.exe -i". Esperemos que esto corrija el error.

55
También funcionó para mí cuando recibí este error al intentar acceder a un servicio .svc WCF.
atconway

Nota: para usuarios de Windows 8, vea la otra respuesta de JohnOpincar a continuación
KyleK

Para cualquier otra persona que encuentre esto a través de la Búsqueda, puede resultarle más fácil realizar una Reparación en la instalación de .NET en lugar de intentar ejecutar aspnet_regiis.exe como la ruta de menor resistencia y resuelve el problema. Estamos viendo esto mucho en los cuadros que han instalado .NET 4.5.2 (a través de Windows Update) antes de instalar el rol de IIS, es un poco frustrante porque estos cuadros mostrarán .NET 4 como una opción en su grupo de aplicaciones, pero si su aplicación requiere .NET 4.5 como la nuestra, fallará con el mensaje anterior.
aolszowka

246

En Windows 8/10, debes usar

  • Abrir panel de control →
  • Programas y características →
  • Activar o desactivar las características de Windows →
  • Servicios de información de Internet (IIS) →
  • Servicios de la World Wide Web →
  • Características de desarrollo de aplicaciones →
  • Marque los elementos apropiados, como habilitar ASP.NET. (es decir, instale la versión adecuada con la que desea configurar sus sitios web)

Referencia: verifique la solución de esta pregunta como referencia


217
Tenía que comprobar .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon

13
ejecute este comando desde un símbolo del sistema del administrador: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation / all", o "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Paul Suart

Justo cuando me acostumbré a ejecutar regiis, Microsoft va y lo cambia de nuevo. Bueno, al menos esto es mucho más fácil: un cambio similar a la instalación de WIF. Ahora deberían agregar SQL para activar / desactivar las características de Windows.
nocarrier

@KevinBrydon - ¡Muchas gracias! Su sugerencia fue muy útil para resolver el problema en Windows 2012 R2.
Amil Waduwawara

En Windows Server 2012 R2, habilitar para mí la "Activación Http" funcionó para mí.
Dhanuka777

117

Lo arreglé en mi Windows 10:

  1. Vaya al Panel de control - Programas y características - Active o desactive las características de Windows.

  2. Seleccione .NET Framework 4.6 Servicios avanzados - Servicios WCF

  3. Verifique la activación de HTTP.

  4. OK hecho.


55
¡Funciona para mí en Windows 10! ¡Gracias!
Sergey Malyutin

1
Funciona para mí en win 8.1 también
Qerts

Trabajó en Win10 iis7
noCodeMonkeys

Esto funciona después de actualizar a Windows 1709 y tener que reinstalar mi IIS
garrettendi

Funciona perfectamente para mí. Solución ideal si aparece "Este error ocurre cuando la extensión del archivo de la URL solicitada es para un tipo MIME que no está configurado en el servidor"
eranda.del

84

En mi caso, necesitaba agregar tipos MIME para cada extensión de archivo que quería servir a la configuración web:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

2
1+ solucionó mi problema ... estaba tratando de cargar el .jsony seguía recibiendo el error OP y finalmente terminé agregando el mimeMapen mi web.config y resolví el problema
Nick Kahn

¿Necesito agregar también el tipo MIME para el archivo asmx?
Shilpa Soni

Los archivos @ShilpaSoni asmx son archivos de servidor asp.net (no contenido estático). así que no puede y no necesita descargarlos del cliente.
Mahmoodvcs

1
Y aquí hay un mapa de extensiones de archivo a su mimeType apropiado, que se encuentra en esta pregunta SO
The Red Pea

21

En caso de que esto ayude a alguien, recibí este error al intentar ejecutar aspnet_regiis.exe:

La operación falló con 0x8007000B

Se intentó cargar un programa con un formato incorrecto.

Como resultado, el servidor estaba ejecutando 2008 64 bit e intentaba ejecutar la versión de 32 bits de la utilidad. La ejecución de la versión que se encuentra en \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 solucionó el problema.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

7

Acabo de tener la misma situación con mi cliente. Tenemos nuestro propio producto que instala un sitio web. El instalador configura todo: el grupo de IIS, el sitio, web.config, etc.

Instalamos otro sitio web utilizando nuestro instalador. Ingresamos los mismos parámetros, por lo que web.configs resultó ser el mismo en ambos sitios.

Sin embargo, el sitio recién instalado funcionó bien, mientras que el antiguo no. Luego abrí 2 ventanas del Administrador IIS y comencé a comparar la diferencia en la configuración del sitio web. Y encontré un problema.

Alguien eliminó todas las asignaciones de controladores con el sitio anterior. Si va a "Asignaciones de controladores", debería ver aspx, asmx y otras extensiones y nombres de los controladores. Entonces, en el sitio antiguo faltaban todos esos registros.

Por lo tanto, sugeriría que primero verifique las "asignaciones de controladores"; debe haber muchos registros allí. Cree un nuevo sitio web y compárelo para saber cuántos debería haber.

Quién los eliminó, una persona u otro programa, no tengo idea. Si alguien puede saber si existe alguna aplicación de seguimiento que indique que el dominio de usuario \ john estaba modificando el sitio web en la fecha "07.03.2012 12:34", sería útil.



6

Solucioné mi problema en el servidor de Windows 2012 instalando TODAS las características de WCF.

A) Administrador del servidor> Administrar [enlace arriba a la izquierda]> Agregar roles y características

B) En Características> Características de .Net Framework 4.5> Servicios WCF

C) Verifique (habilite) las características. Lo revisé todo.

D) Instalar


2
Verifiqué solo la Activación HTTP y la Activación TCP y funcionó para mí. ¡Gracias de todos modos!
Aleksei Mialkin

6

Al ejecutar Windows Server 2008 R2 de 64 bits y .net framework 4.5, ejecuté este comando desde esta ubicación y tuve éxito:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

salida:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).

3

Como @Mahmoodvcs mencionó, tuve que configurar / agregar tipos MIME para la extensión de archivo que necesitaba para alojar / descargar directamente, en este caso es un archivo de volcado de Heroku (copia de seguridad de la base de datos de Postgres), por lo que para configurar un servidor público IIS donde puede descargar estos archivos sin necesidad de utilizar AWS S3 bucket o recursos compartidos HTTP como Dropbox, ¡esta es una excelente opción!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>



2

También tuve este error, en Windows Server 2008 IIS 7, no tenía instalado Visual Studio, por lo que una reinstalación / reparación de .NET 4.0 hizo el truco.


1

Para agregar una extensión para servir en IIS, siga:

  1. Abra el Administrador de IIS y navegue hasta el nivel que desea administrar.
  2. En la Vista de características, haga doble clic en Tipos MIME.
  3. En el panel Acciones, haga clic en Agregar.
  4. En el cuadro de diálogo Agregar tipo MIME, escriba una extensión de nombre de archivo en el cuadro de texto Extensión de nombre de archivo. ... Escriba un tipo MIME
  5. en el cuadro de texto tipo MIME.
  6. Haga clic en Aceptar.

1
Probé esta solución en el caso de .ts (archivos de tipo script) que debe declarar en los campos de mecanografiado de tipo MIME (.ts) Uso text / x.typescript como tipo mime
freedeveloper


0

Verifique que el grupo de aplicaciones en IIS (en el caso de IIS7 o superior) esté seleccionado como integrado. En este caso, probablemente cambiar a Clásico puede resolver este problema.


0

En relación con el servidor 2016, debería agregar:

  1. Ejecute este comando: aspnet_regiis -lvdesde este directorio: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ esto le brinda la mejor vista de lo que está sucediendo

  2. En Server 2016, instalar .net e iis fuera de secuencia no parece ser un problema.

  3. Lo que es más probable que sea un problema en Server 2016 es simplemente que asp.net no está instalado en la máquina.


0

por Windows Server 2016

  1. Abierto Server ManagerForma
  2. Manage -> Add Roles and Features
  3. Siguiente hasta Features página
  4. Cheque WCF Services función con todas las subcaracterísticas
  5. Next y Install

0

Aplicación PHP 7.3 IIS en Windows Server 2012 R2

Este fue un proceso de dos pasos para mí.

1) Habilite los servicios WCF - con un reinicio del servidor

2) Agregar una asignación de módulo FASTCGI

1)

Vaya a Administrador del servidor> Agregar roles y características Seleccione su servidor del grupo de servidores Vaya a Características> Servicios WCF Seleccioné todas las categorías y luego las instalé

2)

Vaya a IIS> seleccione el sitio En el panel central seleccione Asignaciones de controladores Panel derecho seleccione Agregar asignaciones de módulos

Dentro de la ventana de edición:

Ruta de solicitud: * .php

Módulo: FastCgimodule

Ejecutable: navegué a php-cgi.exe dentro de mi carpeta PHP

Nombre: PHP7.3

Ahora que lo pienso. Puede haber una manera de agregar esta asignación de controlador dentro de la configuración web, por lo que si migra su sitio a otro servidor, no tiene que agregar esta asignación una y otra vez.

EDITAR: Aquí está. Agregue esto a la sección de la configuración web.

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />


0

Si está intentando ver un archivo sin extensión, lo que funcionó para mí fue agregar una MIME Type: Extensión de nombre de archivo : . Tipo MIME :text/plain

Esto podría tener algunas implicaciones de MVC, especialmente si Static File Handlerestá por encima de los Extensionless...controladores (debajo de IIS/ Handler Mappings) pero podría ser una solución cuando solo lo necesita temporalmente, como activar SSL Certs.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.