Ste*_*fan 55 iis visual-studio-2013
我有一个问题,即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映射,或使用命令行工具appcmd.exe添加网站的MIME映射.要设置MIME类型,请在IIS Express安装目录中运行以下命令:appcmd set config/section:staticContent/+ [fileExtension ='string',mimeType ='string']变量fileExtension string是文件扩展名和变量mimeType字符串是文件类型描述.例如,要为扩展名为".xyz"的文件添加MIME映射:appcmd set config/section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']警告:确保这一点在将Web服务器添加到列表之前,需要进行MIME映射.配置文件(如.CONFIG)或动态脚本页(如.ASP或.ASPX)不应直接下载,而应始终通过处理程序进行处理.其他文件(如数据库文件或用于存储配置的文件,如.XML或.MDF)有时用于存储配置信息.确定客户端是否可以在启用它们之前下载这些文件类型.安装ASP.NET.检查失败的请求跟踪日志,以获取有关此错误的其他信息.欲了解更多信息,请点击此处.为扩展名为".xyz"的文件添加MIME映射:appcmd set config/section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']警告:确保此MIME映射是在将Web服务器添加到列表之前需要它.配置文件(如.CONFIG)或动态脚本页(如.ASP或.ASPX)不应直接下载,而应始终通过处理程序进行处理.其他文件(如数据库文件或用于存储配置的文件,如.XML或.MDF)有时用于存储配置信息.确定客户端是否可以在启用它们之前下载这些文件类型.安装ASP.NET.检查失败的请求跟踪日志,以获取有关此错误的其他信息.欲了解更多信息,请点击此处.为扩展名为".xyz"的文件添加MIME映射:appcmd set config/section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']警告:确保此MIME映射是在将Web服务器添加到列表之前需要它.配置文件(如.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类型.使用处理程序处理这些文件类型.您不应该允许直接下载动态脚本页面,数据库或配置文件.查看更多信息»
Ste*_*fan 168
经过一些谷歌搜索和实验我发现,你必须在中定义IIS设置Web.config.
添加以下配置后:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力.
完整安装文件示例:
<?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>
Run Code Online (Sandbox Code Playgroud)
小智 14
最好添加删除标记,以防将来IIS在json支持中构建.这是mimeMap的web.config部分.
<system.webServer>
<staticContent>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<system.webServer>
Run Code Online (Sandbox Code Playgroud)
我们可能需要将Visual Studio开发环境(使用IIS Express)与本地IIS和远程服务器(如Azure WebSites)区分开来.例如,要专门针对IIS Express,我们%USERPROFILE%\Documents\IISExpress\config\applicationhost.config在system.webServer/staticContent以下位置编辑:
<mimeMap fileExtension=".json" mimeType="application/javascript" />
Run Code Online (Sandbox Code Playgroud)
我需要进行区分,因为我的本地(Intranet)IIS已经定义了JSON mime类型.因此,当我部署到Azure网站时,我使用此转换Web.Release.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/javascript" xdt:Transform="Insert" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
去:
cd C:\Program Files\IIS Express
要么
cd C:\Program Files (x86)\IIS Express
运行命令:
appcmd set config /section:staticContent /+[fileExtension='JSON',mimeType='application/x-javascript']
| 归档时间: |
|
| 查看次数: |
46732 次 |
| 最近记录: |