HTTP错误403.14 - 访问网站时出现禁止错误

时间:2011-10-24 19:28:28

标签: asp.net .net asp.net-mvc windows-7 iis-7

所以我拥有所有更新的代码,整个解决方案构建。它可以在其他人的机器上运行,但是当我尝试在我的机器上访问localhost/extranet时,它会给我这个错误:

  

HTTP错误403.14 - 禁止

详细错误信息:

Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler 0x00000000
Requested URL   http://localhost:80/extranet/
Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
Logon Method Anonymous
Logon User Anonymous

现在我尝试进入IIS7,并启用目录浏览,这消除了错误,但仍然没有启动我的网站。我也尝试进入并禁用默认文档,重新启用它,一切,没有任何效果。我也重启了IIS几次无济于事。

有什么想法吗?

8 个答案:

答案 0 :(得分:9)

听起来你的IIS没有为您的应用程序处理路由规则,并且正在尝试查找default.aspx,index.htm等。既然它不能,它想要显示目录列表(这就是为什么你得到了404.14)。

我刚检查了我的开发设置,并且认为您的AppPool必须设置为Integrated,而不是AppPool的Managed Pipeline上的Classic。我之前遇到过这种情况,可能有办法使用Classic Pipeline,但这将是/应该是解决问题的最快方法。要检查/更改管道模式,请单击IIS左侧菜单中的“应用程序池”,找到AppPool并查看托管管道列。如果设置为Classic - >右键单击AppPool,选择基本设置,然后将下拉列表从Classic更改为Integrated。

如果我不对,有人请随时在评论中纠正我。

编辑 - 只需添加,您可以在Classic Pipeline模式下运行MVC应用程序,但您必须执行IIS 6技巧才能使其正常工作。主要是,您需要打开MVC的通配符脚本映射才能在经典模式下工作,如果不是,它需要一个.aspx文件(或类似文件),以便它可以处理从IIS到.NET的执行管道。

答案 1 :(得分:6)

导致此错误从您网站的根目录中删除 Global.asax 文件。

要解决此问题,请将Global.asax文件添加到项目中。

见这里:How to add Global.asax file to ASP.NET MVC4 project

答案 2 :(得分:3)

在IIS中,您需要找出运行应用程序的应用程序池。只需右键单击Sites>Manage Web Site>Advanced Settings下的Web应用程序即可。第一个属性应该是应用程序池。

现在,点击Application Pools。您应该看到一个名为“Identity”的列。将该用户添加到C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\目录的ACL中。如果它只是说'ApplicationPoolIdentity',它可能有点棘手figuring out the user。如果它只是在DefaultAppPool下运行,则可以使用IIS AppPool\DefaultAppPool

答案 3 :(得分:2)

更改“开始页面”'右键单击页面,然后选择“设置为起始页面”。您希望在Web应用程序首先启动时首先打开它。这可能会解决您的问题。 :)

答案 4 :(得分:0)

还要确保在IIS应用程序池设置中Enabled 32-bit Applications下的Advanced Settings设置为FALSE。我花了好几个小时试图解决这个问题,这是我的问题。 Windows Server 2012 IIS 8.5

答案 5 :(得分:0)

我的解决方案是因为我没有通过“打开和关闭Windows功能”安装ASP.NET,因此很简单。我通过启用目录浏览器并尝试转到我的views文件夹来解决这个问题,该文件夹随后给出了更具描述性的答案,并且几乎说模块存在问题,因为ASP.NET的安装不正确。然后它突然出现在我的计算机上,以进行安装。

答案 6 :(得分:0)

我通过设置确切的.net框架解决了这个问题。我的网站使用的是v4.0版本的.net。

  • 解决此问题的解决方法:
    1. 以管理员身份打开命令行
    2. 转到目录“ C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”
    3. 执行以下操作:aspnet_regiis.exe -i
    4. 打开IIS并将您的应用程序的管道模式更改为“集成”

希望这会有所帮助

答案 7 :(得分:0)

在我的情况下,服务器(使用IIS 10)缺少 HTTP重定向功能。

添加功能可以解决该问题,网站开始可以正常加载。

enter image description here