我刚刚在Visual Studio 2012中创建了一个新的空网站并点击了运行(即在浏览器中查看),我收到此错误:
HTTP错误403.14 - 禁止使用 Web服务器配置为不列出此目录的内容。
我进入IIS并点击了目录浏览,然后确保启用了目录浏览,但我仍然收到此错误。我无法弄明白?
我刚刚创建的网站项目未在IIS管理器中的默认网站中列出,我认为这很奇怪。
如何摆脱此错误?
答案 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中的目录浏览功能(推荐)
启动IIS管理器。为此,请单击“开始”,单击“运行”,键入inetmgr.exe,然后单击“确定”。
在IIS管理器中,展开服务器名称,展开网站,然后单击要修改的网站。
在“功能”视图中,双击“目录浏览”。
在“操作”窗格中,单击“启用”。
如果这不起作用,您可能遇到的问题不仅仅是目录列表问题。请按照以下步骤进行操作
方法2:添加默认文档
要解决此问题,请按以下步骤操作:
方法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上为我工作的一个如下
步骤
答案 5 :(得分:12)
设置起始页。
当我遇到这个问题时,我进入解决方案资源管理器,找到了我想要首先看到的页面(在我的情况下是“Home.aspx”),右键单击它并选择“设置为起始页面。”这修复了我的问题。问题(听起来与你的非常相似)。这是在Visual Studio 2012 Professional中,我在Firefox中运行它。
答案 6 :(得分:8)
我刚将此代码段粘贴到web.config文件中,错误已解决。
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>
答案 7 :(得分:6)
在IIS中的网站上:
答案 8 :(得分:6)
空网站模板创建一个包含Web.config文件但不包含其他文件的ASP.NET网站。表示您没有在浏览或运行时显示任何默认页面。
此错误消息仅表示您未在IIS上正确设置和配置默认文档。
配置完成后,错误消息将消失。
答案 9 :(得分:5)
错误:403.13从Visual Studio运行WebForms ASP.Net网站时。
拒绝访问root:http://localhost:51365
导航到“登录”页面或任何存在的页面,它将起作用:
答案 10 :(得分:4)
答案 11 :(得分:3)
我有一个快速补救措施。事实上我得到了这个错误,因为我没有将我的网页设置为起始页面。当我将我的网页(html / aspx)设置为如下所示的设置起始页面时,我纠正了此错误。
我不知道这个解决方案是否能帮助他人。
答案 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。
以上所有回复并没有解决我的问题(正如我想的那样) 例如
如果可能有与我类似情况的人,请尝试一下。
答案 15 :(得分:1)
答案 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"
并
检查每个子文件夹中的每个程序,并
单击“好”
这将解决您的所有问题。
答案 22 :(得分:0)
这可能有多种原因。如果您已经尝试了上述所有方法,但仍然遇到相同的错误,那么我还有另一种解决方法。
发生这种情况的另一个原因是
解决方案:
尝试将应用程序端口更改为默认端口。例如。,
使用http://localhost/
代替http://localhost:25836/
如果您已经使用了先前应用程序的默认端口,请尝试更改为任何其他端口。例如:http://localhost:25364/
而不是http://localhost/
这将允许IIS / IIS Express指向您尝试运行的较新应用程序的默认bin路径,该路径将具有启动该应用程序所需的所有dll。
答案 23 :(得分:0)
我通过以下步骤解决了我的问题=>
答案 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 来解决该问题。
答案 27 :(得分:-7)
右键单击表单项目,设置为起始页
解决了