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

时间:2013-09-24 12:03:21

标签: asp.net iis

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

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

我进入IIS并点击了目录浏览,然后确保启用了目录浏览,但我仍然收到此错误。我无法弄明白?

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

如何摆脱此错误?

28 个答案:

答案 0 :(得分:121)

将其保存到您的网络配置文件中,然后重命名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>

答案 1 :(得分:33)

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

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

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

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

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

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

  5. 如果这不起作用,您可能遇到的问题不仅仅是目录列表问题。请按照以下步骤进行操作

    方法2:添加默认文档

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

    • 启动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

答案 2 :(得分:26)

转到cmd并输入:

for x64 O.S: %windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

for x32 O.S: %windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

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

答案 3 :(得分:16)

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

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

答案 4 :(得分:15)

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

步骤

  1. 键入&#34;打开或关闭Windows功能&#34;在搜索中。
  2. 点击&#34;添加角色和功能&#34;在服务器管理器中。
  3. 在向导中向下滚动到Web服务器并选择:Web服务器 - &gt;应用开发。从列表中选择除CGI之外的所有内容,如屏幕截图所示
  4. enter image description here

    1. 最后点击下一步并安装。
    2. 重新启动IIS
    3. 您的网站可能会开始运作。

答案 5 :(得分:12)

设置起始页。

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

答案 6 :(得分:8)

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

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

答案 7 :(得分:6)

在IIS中的网站上:

  1. 选择“高级设置”
  2. 然后为应用程序池选择“ASP.NET v4.0”
  3. image for example

答案 8 :(得分:6)

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

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

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

答案 9 :(得分:5)

问题

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

解决方案

拒绝访问root:http://localhost:51365

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

http://localhost:51365/Login.aspx

答案 10 :(得分:4)

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

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

启用两个选项

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

enter image description here

答案 11 :(得分:3)

我有一个快速补救措施。事实上我得到了这个错误,因为我没有将我的网页设置为起始页面。当我将我的网页(html / aspx)设置为如下所示的设置起始页面时,我纠正了此错误。enter image description here

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

答案 12 :(得分:2)

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

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

答案 13 :(得分:2)

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

答案 14 :(得分:2)

对于我的情况,我在创建一个空的Web Api项目后收到了同样的错误。

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

我替换了代码行: -

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

具有以下内容: -

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

注意我只需要指定我想首先调用其索引操作的Controller。

以上所有回复并没有解决我的问题(正如我想的那样) 例如

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

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

答案 15 :(得分:1)

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

答案 16 :(得分:1)

这可能是由于流氓applicationhost.config条目引起的。

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

转到项目的“属性”>“ Web”,然后检查“项目URL”是否正确。如果是https网址,请确保其包含有效范围内的端口号。正确的URL可能是:https://localhost:44300/。现在,按URL旁边的“创建虚拟目录”按钮。这会将新条目添加到applicationhost.config。

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

答案 17 :(得分:1)

我相信几年后,您可能已经有了答案。但是以防万一将来有人在寻找答案。

对于我的问题,我不需要对web.config进行任何操作。我以前也不需要,也不需要。

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

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

答案 18 :(得分:1)

我收到此错误并将应用程序池管理的管道模式更改为&#34; Integrated&#34;解决了这个问题。

来源:Running a .NET 4.6 MVC application on IIS 8.5 (Windows Server 2012)

答案 19 :(得分:0)

就我而言,我缺少Microsoft.Owin.Host.SystemWeb nuget。

答案 20 :(得分:0)

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

答案 21 :(得分:0)

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

答案 22 :(得分: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。

答案 23 :(得分:0)

我通过以下步骤解决了我的问题=>

  1. 打开IIS管理器
  2. 单击应用程序
  3. 点击目录浏览
  4. 单击“打开功能”(在右侧,您将在“操作”下看到)
  5. 点击启用

答案 24 :(得分:0)

就我而言

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

答案 25 :(得分:0)

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

答案 26 :(得分:0)

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

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

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

enter image description here

答案 27 :(得分:-7)

右键单击表单项目,设置为起始页

解决了