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

我刚刚在 Visual Studio 2012中创建了一个新的空白网站,然后点击 run (即浏览器中的 view) ,我得到了这个错误:

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

我进入 IIS,点击目录浏览,然后确保启用了目录浏览,但我仍然得到这个错误。我想不出来?

我刚刚创建的网站项目没有列在 IIS 管理器的默认网站,我认为这是奇怪的。

我如何消除这个错误?

676513 次浏览

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

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

一旦配置完成,错误消息就会消失。

保存到你的 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>

设置一个起始页。

当我遇到这个问题时,我进入解决方案浏览器,找到我想要首先看到的页面(在我的例子中是“ Home.aspx”) ,右键单击它并选择“ Set As Start Page”这解决了我的问题(听起来真的很像你的问题)。这是在 VisualStudio2012Professional 中,我在 Firefox 中运行它。

在 IIS 的网站上:

  1. 选择「预先设定」
  2. 然后为应用程序池选择“ ASP.NET v4.0”

image for example

发生此问题是因为网站没有启用 Directory Browsing特性,并且没有配置默认文档。若要解决此问题,请使用下列方法之一。为了解决这个问题,我遵循了 微软支持页面及其推荐方法中提到的方法1中的步骤。

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

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

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

  3. 在 Features 视图中,双击 Directory Browsing。

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

如果这种方法不起作用,那么您可能遇到的问题可能不仅仅是目录列表问题。按照下面的步骤,

方法2: 添加默认文档

要解决这个问题,请遵循以下步骤:

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

方法3: 在 IIS Express 中启用目录浏览特性

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

遵循以下步骤:

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

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

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

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

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

这个问题可能有多种原因

步骤

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

enter image description here

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

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

进入 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 目录浏览

对于我的情况,我在创建一个空的 WebApi 项目之后收到了相同的错误。

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

我替换了代码行:-

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

下列各项:-

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

注意,我只需要指定 Controller,我希望首先调用它的 index 操作。

以上所有的回答都没有解决我的问题(正如我所希望的) 例如:。

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

如果有人和我处境相似,那就试试这个。

我得到了这个错误,并将应用程序池管理流水线模式改为“集成”解决了这个问题。

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

我有个快速疗法。事实上,我得到这个错误,因为我没有设置我的网页作为开始页。当我做我的网页(html/aspx)设置开始页面如下所示,我得到了这个错误纠正。enter image description here

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

问题

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

解决方案

拒绝访问根目录: http://localhost:51365

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

Http://localhost:51365/login.aspx

我只是在 web.config 文件中粘贴了这个代码片段,错误就解决了。

<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>

这可能是由一个流量不足的 applicationhost.config 条目引起的。

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

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

重新开始这个项目,希望你不会再得到这个错误。

我相信过了这么多年,你可能已经有答案了。但是以防将来有人想找到答案。

对于我的问题,我不需要在 web.config 的任何地方。我认为我也不需要,因为它以前是有效的。

确保没有文件夹的名称与你的页面相同,我有一个文件夹名为“博客”和一个页面名为“ blog.aspx”,它是试图加载文件夹,我注意到这一点,在链接,改变了文件夹的 blogContent,现在它加载的很好。

我在这里张贴一个副本,因为你是第一个在搜索查询。

在我的例子中,我经历了这个错误,因为我的 webapp。NET v4,并且将应用程序池配置为。NET v2.

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

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

互联网资讯服务 > 万维网服务 > 应用程式开发特色

启用这两个选项

.NET 扩展性3.5
. ASP.NET 3.5

enter image description here

在我的案例中,我错过了 Microsoft.Owin.Host.SystemWeb的关键部分。

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

解决
在开始时搜索 "Windows Feature"-> < br > 单击 "turn features on and off"-> < br > 展开 "Internet Information Services"和 < br > 检查每个子文件夹中的每个程序,并且 < br > 单击“确定”
这能解决你所有的问题。 enter image description here

这种情况可能因为各种各样的原因而发生。如果您尝试了以上所有方法,仍然得到相同的错误,我还有一个解决方案。

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

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

解决方案:

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

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

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

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

  1. 打开 IIS 管理器
  2. 单击“应用程序”
  3. 单击“目录浏览”
  4. 单击“打开特性”(在右边的“操作”下面)
  5. 单击“启用”

对我来说

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

问题可能来自于在 IIS 上的 Visual Studio 上运行项目,而在 Visual Studio 上打开了错误的选项卡,所以解决方案要么是打开右边的选项卡(你想在浏览器上测试的网页表单) ,要么就像其他答案中建议的那样,右键点击你想设置为主页的网页表单,然后点击“ Set As A Start Page”。

您应该在服务器上安装 IIS 的应用程序开发部分,如下图所示:enter image description here

我打开一个旧的 Asp.net 网络表单(。使用 Visual Studio 2019的 Net Framework4.5)解决方案也存在同样的问题。解决方案很简单,转到 Web 项目的 properties-> Web-> 选中的“ Override application root URL”-> 分配另一个端口号。保存解决方案并再次以调试模式运行。问题解决了。

这意味着服务器无法处理您所做的事情。(如果你想使用索引类型的东西忽略这个答案)

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

否则你就会遇到这种问题。所以如果是 WordPress,你可以通过在服务器上使用 iis manager-> web 平台安装程序安装 PHP 来解决这个问题。

enter image description here