运行使用WebAPI的项目时出现错误403.14

4
起初我以为我的 IIS 出了问题,于是我卸载了它。现在只有 IIS Express。 然后我创建了默认的 ASP.NET MVC 应用程序 并且使用那个 IIS Express 成功地运行了它。 但是当我按照微软网站上的教程创建一个 WebAPI 和一个简单的调用它的 HTML 页面时,我得到了这个错误信息:

HTTP 错误 403.14 - 禁止访问

Web 服务器已配置为不列出此目录的内容。

所以问题不在于我的 IIS,但我也不确定如何解决它。
这是我遵循的例子,真烦人,他们不能在他们的官方网站上写一个可行的示例。
https://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

你在浏览器中输入的是什么URL? - Dan Wilson
可能重复:https://dev59.com/RM9z0IgBFxS5KdRjZOUW - Fuzzybear
@DanWilson http://localhost:45971/ 给了我 403.14 禁止访问,而 http://localhost:45971/index.html 给了我 404.0 未找到。 - Bohn
你尝试过访问 http://localhost:45971/index.htm 吗? - Dan Wilson
@DanWilson 现在已经做了,还是出现了同样的 404 错误。 - Bohn
我遇到了与@Fuzzybear在他的答案中提到的类似问题,启用“目录浏览”解决了我的问题。 - esiprogrammer
1个回答

4
这个问题的原因是网站未启用目录浏览功能,并且默认文档未配置。

https://support.microsoft.com/en-gb/kb/942062

方法1:在IIS中启用目录浏览功能(推荐)

要解决此问题,请按照以下步骤操作: 启动IIS管理器。要执行此操作,请单击“开始”,单击“运行”,键入inetmgr.exe,然后单击“确定”。 在IIS管理器中,展开服务器名称,展开Web站点,然后单击要修改的网站。 在“特性视图”中,双击“目录浏览”。 在“操作”窗格中,单击“启用”。

方法2:添加默认文档

要解决此问题,请按照以下步骤操作: 启动IIS管理器。要执行此操作,请单击“开始”,单击“运行”,键入inetmgr.exe,然后单击“确定”。 在IIS管理器中,展开服务器名称,展开Web站点,然后单击要修改的网站。 在“特性视图”中,双击“默认文档”。 在“操作”窗格中,单击“启用”。 在“文件名”框中,输入默认文档的名称,然后单击“确定”。

方法3:在IIS Express中启用目录浏览功能

注意:此方法适用于使用IIS Express时遇到此问题的Web开发人员。

要完成此操作,请按照以下步骤进行: 打开命令提示符,然后转到计算机上的IIS Express文件夹。例如,在命令提示符中转到以下文件夹: C:\ Program Files \ IIS Express 输入以下命令,然后按Enter键: appcmd set config /section:directoryBrowse /enabled:true


或者简单地说,IIS网站上的匿名身份验证没有正确开启,或者该网站没有指向托管Web API项目的正确目录。 - Steve
启用目录浏览解决了我的问题。 - Bohn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接