Estoy sirviendo archivos .JSON, pero a pesar de que el archivo existe, IIS sigue arrojando un error 404 cuando se accede a cualquiera de los archivos. Intenté renombrar uno de los archivos a .JS, y funciona.
¿Algún indicador de qué configuración puede causar este problema?
windows-server-2003
iis
http-status-code-404
Adrian Godong
fuente
fuente
Yo tuve el mismo problema. IIS hace algo llamado filtrado de tipo MIME. Si no conoce el tipo MIME de una extensión de archivo específica, devuelve un error 404.
En IIS <7: abra las propiedades del sitio (o servidor). Haga clic en la pestaña Encabezado HTTP . Haga clic en el botón Tipos MIME . Agregue el tipo de archivo * con el tipo MIME "application / octet-stream".
Para IIS 7: Abra el administrador de IIS. Haga clic en el servidor o sitio web. Haga doble clic en el icono de la función Tipos MIME . En el panel Acciones, haga clic en Agregar . Rellene el cuadro "Extensión de nombre de archivo" con * y el cuadro Tipo MIME con "application / octet-stream".
fuente
Añadí tipo MIME
.json
-text/json
al sitio en IIS a la vista en el navegador como texto.fuente
Para consolidar las respuestas en una respuesta más general:
Aquí viene la advertencia:
Si experimenta este tipo de problema, abra los archivos de registro web del sitio web y eche un vistazo al código de sub-estado (es decir, 404 3) para determinar exactamente por qué su sitio web no está sirviendo contenido para IIS 6, o
en IIS 7.
fuente
También tuve este problema, y el problema resultó ser los permisos de archivo en la carpeta donde estaba almacenado el archivo json. Respondí una pregunta similar aquí .
Estas personas son correctas al decir que necesita agregar el tipo MIME.
El tipo MIME habilita la extensión de archivo en el servidor y el controlador de mapeo le dice a IIS qué hacer con él.
Por lo tanto, también debe agregar el controlador de asignación , y para eso debe tener instalada la característica de Windows llamada Classic Asp para manejar la asignación.
Aquí se explica cómo agregar el controlador de mapeo:
Handler Mappings
Add a Script Map
*.json
C:\WINDOWS\system32\inetsrv\asp.dll
JSON
(puedes llamarlo como quieras)Además, algunas personas le dirán que use `application / x-javascript 'como la aplicación de tipo mime, pero JSON no es javascript, per se (sin embargo, es un subconjunto) y, por lo tanto, debería ser' application / json '. , ya que es ese tipo de medio registrado en IANA para JSON.
fuente
También verifique el Filtrado de solicitudes en IIS. Si ".json" está allí y bloqueado, nada más funcionará.
fuente