181

我刚刚在 Visual Studio 2012 中创建了一个新的空网站并单击了运行(即在浏览器中查看),我得到了这个错误:

HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。

我进入 IIS 并单击目录浏览,然后确保启用了目录浏览,但我仍然收到此错误。我想不通?

我刚刚创建的网站项目未列在 IIS 管理器的默认网站中,我认为这很奇怪。

我该如何摆脱这个错误?

4

27 回答 27

159

将其保存到您的 Web 配置文件中,然后重命名 add value="yourwebformname.aspx"

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

别的

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
于 2014-08-16T15:09:52.750 回答
50

出现此问题的原因是网站没有启用该Directory Browsing功能,并且未配置默认文档。若要解决此问题,请使用下列方法之一。为了解决这个问题,我按照MS 支持页面中提到的方法 1 中的步骤及其推荐的方法进行操作。

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

  1. 启动 IIS 管理器。为此,请单击“开始”,单击“运行”,键入 inetmgr.exe,然后单击“确定”。

  2. 在 IIS 管理器中,展开服务器名称,展开网站,然后单击要修改的网站。

  3. 在功能视图中,双击目录浏览。

  4. 在“操作”窗格中,单击启用。

如果这不起作用,您可能会遇到与目录列表问题不同的问题。所以按照下面的步骤,

方法二:添加默认文档

要解决此问题,请按照下列步骤操作:

  • 启动 IIS 管理器。为此,请单击“开始”,单击“运行”,键入 inetmgr.exe,然后单击“确定”。
  • 在 IIS 管理器中,展开服务器名称,展开网站,然后单击要修改的网站。
  • 在功能视图中,双击默认文档。
  • 在“操作”窗格中,单击启用。
  • 在“文件名”框中,键入默认文档的名称,然后单击“确定”。

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

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

按着这些次序:

  • 打开命令提示符,然后转到计算机上的 IIS Express 文件夹。例如,在命令提示符下转到以下文件夹: C:\Program Files\IIS Express

  • 键入以下命令,然后按 Enter:

    appcmd set config /section:system.webServer/directoryBrowse /enabled:true

于 2015-06-03T13:25:15.010 回答
34

转到 cmd 并输入以下内容:

对于 x64 操作系统:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

对于 x32 操作系统:%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

这将安装正确的版本,IIS 将了解 MVC 目录浏览

于 2015-12-24T13:29:18.417 回答
29

该问题可能有多种原因。在 IIS 8.5 上为我工作的一个如下

脚步

  1. 在搜索中输入“打开或关闭 Windows 功能”。
  2. 单击服务器管理器中的“添加角色和功能”。
  3. 在向导中向下滚动到 Web 服务器并选择:Web 服务器 -> 应用程序开发。从列表中选择除 CGI 之外的所有内容,如屏幕截图所示

在此处输入图像描述

  1. 最后点击下一步并安装。
  2. 重新启动 IIS

您的网站可能会开始工作。

于 2015-11-10T03:19:54.277 回答
21

我刚刚将此代码段粘贴到 web.config 文件中,错误已解决。

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
于 2018-06-14T18:32:33.963 回答
20

设置起始页。

当我遇到这个问题时,我进入解决方案资源管理器,找到我想首先查看的页面(在我的情况下为“Home.aspx”),右键单击它并选择“设置为起始页。”这解决了我的问题(听起来和你的很相似)。这是在 Visual Studio 2012 Professional 中,我在 Firefox 中运行它。

于 2015-04-22T20:28:33.657 回答
18

尝试将以下设置添加到web.config文件中。

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
于 2015-10-08T12:38:31.670 回答
18

控制面板 > 打开或关闭 Windows 功能

Internet 信息服务 > 万维网服务 > 应用程序开发功能

启用这两个选项

.NET 可扩展性 3.5
.ASP.NET 3.5

在此处输入图像描述

于 2019-01-09T10:06:31.390 回答
12

我对此有一个快速的补救措施。事实上,我收到此错误是因为我没有将我的网页设置为起始页。当我将我的网页(html /aspx)设置为如下所示的起始页时,我纠正了这个错误。在此处输入图像描述

我不知道这个解决方案是否会帮助其他人。

于 2017-09-03T04:51:31.993 回答
9

空网站模板创建一个包含 Web.config 文件但不包含其他文件的 ASP.NET 网站。意味着您没有任何默认页面可在浏览或运行时显示。

此错误消息仅表示您没有在 IIS 上正确设置和配置默认文档。

配置完成后,错误消息将消失。

于 2013-09-24T12:18:43.837 回答
9

在 IIS 的网站上:

  1. 选择“高级设置”
  2. 然后对于应用程序池选择“ASP.NET v4.0”

例如图像

于 2015-05-10T14:51:00.213 回答
8

我用这个步骤解决了我的问题=>

  1. 打开 IIS 管理器
  2. 单击应用程序
  3. 单击目录浏览
  4. 单击打开功能(在右侧,您将在操作下看到)
  5. 单击启用
于 2019-11-20T10:42:20.440 回答
7

问题

错误:从 Visual Studio 运行 WebForms ASP.Net 网站时出现 403.13。

解决方案

访问根被拒绝:http://localhost:51365

导航到登录页面或任何存在的页面,它将起作用:

http://localhost:51365/Login.aspx

于 2018-01-16T03:04:45.893 回答
6

我收到此错误并将应用程序池管理管道模式更改为“集成”解决了问题。

来源:在 IIS 8.5 (Windows Server 2012) 上运行 .NET 4.6 MVC 应用程序

于 2017-07-13T14:24:34.517 回答
6

就我而言,我在创建一个空的 Web Api 项目后收到了同样的错误。

我通过编辑App_Start文件夹中的RouteConfig.cs解决了这个问题:)

我替换了代码行:-

defaults: new { action = "Index", id = UrlParameter.Optional }

具有以下内容:-

defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }

请注意,我只需指定要首先调用其索引操作的控制器。

好吧,上述所有回复都没有解决我的问题(如我所愿),例如

  • 从web.config启用目录浏览只是列出了我项目中的所有文件和文件夹,就像 php 在没有索引文件时所做的那样
  • 设置defaultDocument对我也不起作用,但仍然出现 HTTP 错误 403.14(仍然不知道为什么)

如果可能有人与我的情况相似,请尝试一下。

于 2017-02-04T10:41:54.723 回答
5

已解决 在开始时
搜索->单击->展开并检查每个子文件夹中的每个程序,然后单击“确定” 这将解决您的所有问题。 "Windows Feature"
"turn features on and off"
"Internet Information Services"


在此处输入图像描述

于 2019-05-27T12:12:01.783 回答
5

就我而言,我遇到了这个错误,因为我的 webapp 是 .NET v4,并且应用程序池是为 .NET v2 配置的。

双击应用程序池会弹出一个窗口,我们可以在其中选择所需的 .NET Framework 版本。

于 2018-10-25T11:59:34.297 回答
3

我敢肯定,多年后你可能已经有了答案。但万一其他人在未来寻找答案。

对于我的问题,我不需要对 web.config 做任何事情。我认为我也不需要,因为它以前可以工作。

确保没有文件夹与您的页面命名相同,我有一个名为“blog”的文件夹和一个名为“blog.aspx”的页面,它试图加载文件夹,我在链接中注意到这一点,将文件夹更改为 blogContent ,现在它加载正常。

我在这里发布一份副本,因为您是搜索查询中的第一个。

于 2018-10-04T16:28:06.813 回答
3

这可能是由 bum applicationhost.config 条目引起的。

如果 IIS Express 正在运行,请停止它(右键单击 Windows 系统托盘中的浅蓝色滚动图标;退出)。

转到您项目的 Properties > Web,并检查 Project Url 是否正确。如果是 https url,请确保它包含有效范围内的端口号。正确的 URL 可能是:https://localhost:44300/. 现在按 URL 旁边的“创建虚拟目录”按钮。这会向 applicationhost.config 添加一个新条目。

再次启动项目,希望您不会再收到错误。

于 2018-08-29T14:09:15.423 回答
3

问题可能来自于从 IIS 上的 Visual Studio 运行项目,同时在 Visual Studio 上打开的错误选项卡上,因此解决方案是打开正确的选项卡(您要在浏览器上测试的 Web 表单)或按照其他人在其他答案,右键单击要设置为主页的网络表单,然后单击“设置为起始页”。

于 2020-02-13T14:09:19.413 回答
2

就我而言

在应用程序池中,我将 .NetFrameWork 版本设置为 V4.0 并解决了问题....

于 2019-12-01T05:26:03.470 回答
2

在解决方案资源管理器中右键单击您的项目,然后单击添加新项目,添加一个 HTML 页面并将其命名为 index.HTML,然后重新运行您的应用程序

于 2019-05-18T20:56:01.127 回答
2

您应该在您的服务器上安装 IIS 的应用程序开发部分,如下图所示:在此处输入图像描述

于 2020-04-26T11:22:25.983 回答
2

就我而言,我错过了Microsoft.Owin.Host.SystemWebnuget。

于 2019-04-03T15:59:20.870 回答
0

这可能由于多种原因而发生。如果您已经尝试了上述所有方法并且仍然遇到相同的错误,那么我还有一个解决方案。

发生这种情况的另一个原因是

  1. 如果您在开始运行新解决方案之前运行了相同的代码库,则可能会遇到此错误。原因是 IIS Express 试图在与旧解决方案相同的端口上运行,旧解决方案为应用程序启动 URL 注册了物理路径。
  2. 由于 IIS 无法确定运行解决方案的物理路径,它可能无法找到启动应用程序所需的所有 dll。

解决方案:

  1. 尝试将应用程序端口更改为默认值。例如,使用http://localhost/代替http://localhost:25836/

  2. 如果您已经使用了先前应用程序的默认端口,请尝试更改为任何其他端口。例如:http://localhost:25364/而不是http://localhost/

这将允许 IIS/IIS Express 指向您尝试运行的较新应用程序的默认 bin 路径,该路径将具有启动应用程序所需的所有 dll。

于 2019-07-23T17:17:19.983 回答
0

我用 Visual Studio 2019 打开一个旧的 Asp.net webform (.Net Framework4.5) 解决方案,也有同样的问题。解决方案很简单,转到 web 项目的属性-> Web-> 选中“覆盖应用程序根 URL”-> 分配另一个端口号。保存解决方案并再次以调试模式运行。问题已解决。

于 2021-02-09T20:21:46.893 回答
0

所以这意味着服务器无法处理你在做什么。(如果你想使用索引有点忽略这个答案)

例如,如果您在 windows iis 上安装 WordPress,则服务器应该能够运行 .php 文件。

否则你会遇到这些问题。因此,如果是 WordPress,您可以通过使用 iis manager -> web platform installer 在该服务器上安装 PHP 来解决该问题。

在此处输入图像描述

于 2021-05-18T10:04:46.073 回答