.net - web服务器被配置为不列出此目录的内容




MVC4 HTTP错误403.14-禁止 (12)

Windows->开始 - >打开和关闭widows功能

确保你检查了需要的选项

我已经构建了一个.net4.5 ASP.NET MVC4 web应用程序,它可以在本地正常工作(IIS Express&dev服务器),但是一旦将其部署到我的Web服务器,它将引发403错误。 我已经在服务器上安装了.Net 4.5RC,甚至尝试了aspnet_regiis -i位,每个人都推荐使用以前版本的MVC / .Net的问题,但它没有帮助。

有任何想法吗?

编辑 :有关情况的更多信息。 服务器是32位,我有4个其他MVC3应用程序工作正常。 这只是我的MVC4应用程序不工作。


也许...如果你碰巧使用Publish Wizard(和我一样)并选择“Precompile during publishing”复选框(就像我做的那样)并且看到相同的症状...

是的,我殴打了自己的头部,但在取消选中这个看起来不相关的环境后,所有描述的症状在重新部署后都消失了。

希望这可以修复一些人。


在我的情况下,Windows功能和aspnet_regiis -i没有做这项工作。 在网上挖了几个小时之后,我做出了自己的解决方案:

  1. 在模块中的IIS管理器中,我将继承更改为UrlRoutingModule-4.0节点中的local:

  2. 在web.config中,我粘贴了一些来自这个论坛的提示:

    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="UrlRoutingModule-4.0"></remove>
            <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition=""></add>
        </modules>
    </system.webServer>
    

希望能帮助到你


在我的情况下,我的应用程序的默认页面是index.html,它缺少默认文档选项。 添加它将修复403.14禁止的错误。


如果在使用集成管道的开发服务器进行测试时,您还可以获得403,然后在您的实时IIS 7.5 Web服务器上作为传统管道模式安装,同时我还缺少我需要的app_data文件夹


如果您在Windows 8或Server 2012上运行IIS 8.5,则可能发现运行mvc 4/5(.net 4.5)在虚拟目录中不起作用。 如果您在主机文件中创建本地主机条目以指向您的本地机器,然后将新的本地IIS网站指向该文件夹(使用匹配的主机标头条目),那么您会发现它可以正常工作。


我在Azure和ASP.NET 4.5,IIS 8上运行Windows Server 2012 R2

我通过卸载程序和功能中的所有ASP.NET项目来解决此问题,然后使用服务器管理器使用添加角色和功能重新安装ASP.NET:选择基于角色或基于功能的安装,选择我的服务器,然后为选择服务器角色选择了Web服务器(IIS)/ Web服务器/应用程序开发,然后单击ASP.NET 4.5,确认安装了先决条件,然后重新安装ASP.NET 4.5。

我以前的搜索让我相信,这个问题实际上源于ASP.NET的注册问题。 在早期版本的ASP.NET中,实际上有一个实用程序,您可以运行它来注册ASP.NET而无需重新安装,但似乎不再可用。


我已经将新应用程序的应用程序池设置为IIS中的DefaultAppPool ,这显然是使用.NET v.2.0Classic管道。

为了解决这个问题,我使用Integrated pipeline和.NET v4.0创建了一个新的App Pool。 只是为了这个新的应用程序,然后一切开始按预期工作。

不要忘记将这个新的应用程序池分配给应用程序。 在IIS中选择应用程序,单击Basic Settings ,然后为应用程序选择新的应用程序池。


我有一个不同的问题,在服务器2012年,我忘了启用asp.net 4.5,所以如果你有这个问题,请仔细检查你是否启用了它。


我解决了打开Visual Studio的问题,扩展了引用并将“Copy Local”属性更改为“True”。

我发现将旧版本的dll与我新版本的Dll(不起作用)相比较,


错误403.14是不允许列出目录内容的HTTP错误代码。 请确定

  1. 您已将该网站设置为IIS中的应用程序
  2. 你已经在服务器上安装了.NET 4.5
  3. 您已将应用程序池设置为运行.NET框架的正确版本(即,它未设置为.NET 2.0
  4. 您正在应用程序池上使用集成管道
  5. .NET 4.5实际上在IIS中注册。 请参阅此文章以获取类似的问题/解决方案

通常,a和d是关于MVC部署到IIS的最大问题


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

你可以使用上面的代码





http-status-code-403