我服务的.JSON文件,但即使该文件存在,IIS访问任何文件时保持抛出404错误。 我试图重命名文件的一个.JS,它的工作原理。
任何指针什么设置可以导致这个问题?
默认情况下,W2K3及更高版本中的IIS不会提供非知道的MIMEtypes的文件(而是返回404错误)。
您需要将一个MIMEtypes添加到IIS以允许它提供该types的文件。 您可以在网站级别或在服务器级别进行设置。
要为整个服务器设置:
我有同样的问题。 IIS做一些称为MIMEtypes过滤。 如果它不知道特定文件扩展名的MIMEtypes,则返回404错误。
在IIS上<7:打开站点(或服务器)属性。 点击HTTP-Header选项卡。 点击MIMEtypesbutton。 添加文件types*为MIMEtypes“application / octet-stream”。
对于IIS 7:打开IISpipe理器。 点击服务器或网站。 双击MIMEtypesfunction图标。 在“操作”窗格中,单击“ 添加” 。 用*和“application / octet-stream”填充“文件扩展名”框。
我将MIMEtypes.json
– text/json
到IIS中的站点,以便在浏览器中以文本的forms进行查看。
把答案整合成一个更一般的答案:
警告:
如果您遇到这种问题,请打开网站的networking日志文件,并查看子状态代码(即404 3),以确定您的网站为什么没有为IIS 6提供内容,或
在IIS 7中。
我也有这个问题 – 问题原来是json文件存储的文件夹的文件权限。 我在这里回答了类似的问题 。
这些人都说你需要添加MIMEtypes是正确的。
MIMEtypes启用服务器上的文件扩展名,映射处理程序告诉IIS如何处理它。
因此,您还必须添加映射处理 程序 ,为了处理映射,您必须安装称为Classic Asp的Windowsfunction。
Handler Mappings
Add a Script Map
*.json
C:\WINDOWS\system32\inetsrv\asp.dll
JSON
(你可以任意调用它) 此外,有些人会告诉你使用`application / x-javascript'作为mimetypes的应用程序,但是JSON 本身不是javascript(它是一个子集),所以它应该是'application / json'因为IANA注册的JSON媒体types。