2013-09-24 44 views
71

我只是在Visual Studio 2012中创建一个新的空网站,并点击运行(即视图浏览器)的内容,我得到这个错误:HTTP错误403.14 - 禁止 - Web服务器被配置为不列出该目录

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

我走进IIS和点击目录浏览,然后确保目录浏览已启用,但我仍然得到这个错误。我无法弄清楚?

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

我该如何摆脱这个错误?

+0

配置为使用项目IIS?还是IIS Express?还是卡西尼? –

+0

您**在浏览器**中运行**或**视图吗? 2种不同的东西。如果这是一个MVC项目,那么你可能试图在浏览器中查看'view'? – christiandev

+0

请确保您启用* ASP.NET 4.5或ASP.NET *从*控制面板\所有控制面板项目\程序和功能\打开或关闭Windows功能\ Internet信息服务\万维网服务\应用程序开发功能\ ASP.NET 4.5或ASP.NET 3.5 *,具体取决于您的应用程序池设置。 –

回答

4

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

此错误消息只是意味着你没有设置和你的IIS正确配置默认文档。

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

+0

我没有添加母版页到空的网站,当我点击没有代码运行时,我仍然有一个错误。我不知道我需要做什么才能使其运行? – Aindriu

+0

你有没有在你的网站的默认页面,如果没有,然后创建并设置默认页面显示在这个链接http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/default - 文档 –

+0

不,我没有在空白网站中的默认页面。我正在关注C#书中的一个示例。我添加了一个默认页面,页面会在网页浏览器中加载好。但这个例子只使用母版页。我不明白为什么它不起作用。它是一个非常简单的例子。 – Aindriu

84

保持到网络配置文件这一然后重命名附加价值= “yourwebformname.aspx”

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

其他

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

你是天使!我花了一个小时的时间来解决这个问题,谁会想到它只是这一行 – wolfQueen

+0

我已经在这个项目上工作了好几个月 - 从不需要这一行。我今天发布了这个站点,它不再运行在调试中!增加这条线使它再次工作!我检查了SVN - 以前绝对不需要它。 WTF!?无论如何,谢谢你,只浪费了一个小时:) – Rick

+0

这节省了我的左螺母。谢谢 – Callat

8

设置起始页。

当我遇到这个问题时,我进入了解决方案资源管理器,找到了我想首先看到的页面(在我的例子中为“Home.aspx”),右键单击它并选择“Set As Start Page”。 。我的问题(这听起来真的与你相似)这是在Visual Studio 2012 Professional和我跑在Firefox

2

在该网站上的IIS:

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

image for example

+1

这不回答OP的问题。更改IIS中站点使用的应用程序池对于如何将站点配置为列出目录内容(或不列出它们)没有任何影响。这不得不使用web.config文件中的配置。 – JNYRanger

20

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

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

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

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

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

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

如果这不起作用,您可能会有不同的问题,而不仅仅是一个目录列表问题。因此,按照下面的步骤,

方法2:添加默认文档

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

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

方法3:启用目录浏览功能,在IIS快递

注意此方法是针对Web开发人员谁的经验,当他们使用IIS Express中的问题。

遵循以下步骤:

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

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

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

+2

这应该是被接受的答案。谢了哥们。 – Pirate

13

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

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

HTTP错误500.22 - 内部服务器错误 –

+0

我的问题已解决,在webconfig文件中添加此代码后,谢谢。 – yadavr

10

该问题可能有多种原因。一说为我工作在IIS 8.5是作为遵循

步骤

  1. 类型“启用Windows功能打开或关闭”搜索。
  2. 在服务器管理器中单击“添加角色和功能”。
  3. 在向导中向下滚动到Web服务器并选择:Web服务器 - >应用程序开发。选择所有除了从如屏幕显示的列表CGI拍摄

enter image description here

  • 下最后击中并安装。
  • 重新启动IIS
  • 您的网站可能会开始工作。

    +0

    这工作对我来说 –

    18

    进入cmd,然后输入:

    用于基于x64的操作系统: %WINDIR%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    为X32操作系统: %WINDIR %\ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    这将安装正确的版本和IIS就会明白MVC目录浏览

    +0

    哇。这是一个很好的建议。谢谢! –

    +0

    真棒答案... – baj9032

    +0

    非常好..你拯救我的生命 –

    1

    为了解决这个问题,请确保您有MVC 2或以上和.Net Framework 4.0安装,然后运行命令提示管理员和键入以下行:

    为32位(86): %WINDIR%\ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

    对于64bit: %windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir。

    +0

    这一个适用于mvc解决方案谢谢。 – fizmhd

    1

    对我来说,创建一个空的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(仍然不知道为什么)

    如果可能有任何与我类似的情况,那么试试这个。

    +0

    这是我需要的大部分答案。然而,控制器名称必须与为MVC应用程序控制器名称创建的内容相匹配(如果您调用控制器IndexController,那么它将起作用) - 因此控制器上的操作名称默认值应该是Index,然后它们全部绑定在一起 - 建议在我看来,使用目录浏览并不是一个好主意,因为它允许任何人浏览您的网站内容。 –

    0

    添加到标签系统内的Web.config文件。webServer <modules runAllManagedModulesForAllRequests="true"/>

    0

    Asp.net 4未在IIS中注册。你必须在命令行中运行以下命令:

    32位操作系统

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir 
    

    64位操作系统

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 
    
    2

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

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

    -3

    的形式项目点击右键,设置为初始页

    解决

    1

    我只是解决了这个问题,通过计划&功能启用ASP.NET 4.5功能

    请确保您启用ASP.NET 4.5或ASP.NET 3.5

    Control Panel\All Control Panel Items\Programs and Features

    Turn Windows Features on or off\Internet Information Services\World Wide Web Services\Application Developement Features\ASP.NET 4.5 or ASP.NET 3.5

    取决于您的应用程序池设置。

    相关问题