我遇到的问题是,Visual Studio Express 2013 for Web 中的 IIS 不允许加载 *.json 文件。当尝试加载 *.json 文件时,我收到 403 Forbidden 和帮助页面如何配置 IIS 允许加载 JSON 文件,但不知道如何处理此信息/甚至 IIS 位于何处。
这是错误页面:
HTTP 错误 404.3 - 未找到 您请求的页面无法访问
由于扩展配置而服务。如果页面是一个
脚本,添加一个处理程序。如果要下载文件,请添加 MIME
地图。
最可能的原因:可能缺少处理程序映射。
默认情况下,静态文件处理程序处理所有内容。特点
您尝试使用的可能无法安装。适当的 MIME 映射
未为网站或应用程序启用。 (警告:请勿
为用户不应下载的内容创建 MIME 映射,例如
.ASPX 页面或 .config 文件。)如果未安装 ASP.NET。
您可以尝试的操作: 在 system.webServer/handlers 中:确保
映射当前页面的预期处理程序。要格外注意
前提条件(例如,runtimeVersion、pipelineMode、bitness)
并将它们与您的应用程序池的设置进行比较。额外付费
注意预期处理程序行中的印刷错误。请
验证您尝试使用的功能是否已安装。核实
启用 MIME 映射或为网站添加 MIME 映射
使用命令行工具appcmd.exe。要设置 MIME 类型,请运行
在 IIS Express 安装目录中执行以下命令:appcmd set
配置/节:静态内容
/+[fileExtension='string',mimeType='string'] 变量
fileExtension 字符串是文件扩展名和变量
mimeType 字符串是文件类型描述。例如,要添加一个
扩展名为“.xyz”的文件的 MIME 映射:appcmd set config
/section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
警告:确保您的 Web 服务器需要此 MIME 映射
在将其添加到列表之前。配置文件,例如 .CONFIG 或
动态脚本页面,例如 .ASP 或 .ASPX,不应
直接下载并应始终通过处理程序进行处理。
其他文件,例如数据库文件或用于存储的文件
配置,例如 .XML 或 .MDF,有时用于存储
配置信息。确定客户端是否可以下载这些
启用它们之前的文件类型。安装 ASP.NET。检查失败的
请求跟踪日志以获取有关此错误的其他信息。为了
更多信息,请点击这里。
详细错误信息:模块 StaticFileModule 通知
ExecuteRequestHandler 处理程序 StaticFile 错误代码 0x80070032
请求的 URL http://localhost:64107/Settings/Settings.json
物理路径 D:\GIT\RepoP_Paneon\Settings\Settings.json 登录
方法 匿名登录 用户匿名请求 跟踪目录
C:\Users\stefank\Documents\IISExpress\TraceLogFiles\REPOP_PANEON
更多信息:当文件扩展名
请求的 URL 适用于服务器上未配置的 MIME 类型。
您可以为非 MIME 类型的文件的文件扩展名添加 MIME 类型
动态脚本页面、数据库或配置文件。过程
使用处理程序的这些文件类型。你不应该允许直接
下载动态脚本页面、数据库或配置文件。
查看更多信息 »
经过更多谷歌搜索和实验后,我发现您必须在Web.config
.
添加以下配置后:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
它就像一个魅力。
完整设置文件示例:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)