MVC4 HTTP错误403.14 - 禁止

mit*_*daa 88 .net iis asp.net-mvc http-status-code-403 asp.net-mvc-4

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

有任何想法吗?

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

Mar*_*way 172

尝试

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>
Run Code Online (Sandbox Code Playgroud)

通过

https://serverfault.com/questions/405395/unable-to-get-anything-except-403-from-a-net-4-5-website

  • 这个问题**对于这个问题不合适**(参见Jason Koopmans回答中的链接).更好的是在这里下载相关的修补程序http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272 (4认同)

Tom*_*mmy 22

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

  1. 您已将网站设置为IIS中的应用程序
  2. 您在服务器上安装了.NET 4.5
  3. 您已将应用程序池设置为运行适当版本的.NET框架(即,它未设置为.NET 2.0
  4. 您正在使用应用程序池上的集成管道
  5. .NET 4.5实际上是在IIS中注册的.有关类似问题/解决方案,请参阅此帖子

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


小智 11

也许......如果您碰巧使用发布向导(就像我一样)并选中"在发布期间预编译"复选框(就像我一样)并看到相同的症状......

是的,我击败了自己的头部,但在取消选中这个看似无关的设置之后,所有描述的症状在重新部署后消失了.

希望这可以修复一些人.


Kur*_*ula 10

Windows->开始 - >打开和关闭寡妇功能

请务必检查所需的选项

在此输入图像描述


小智 6

申请之前

runAllManagedModulesForAllRequests="true"/>
Run Code Online (Sandbox Code Playgroud)

考虑下面的链接,这表明一个不那么激烈的选择.在帖子中,作者对本地web.config提供了以下更改:

  <system.webServer>
    <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>
Run Code Online (Sandbox Code Playgroud)

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html


小智 5

在Visual Studio 2012中有一个Refactor - > Rename Bug,错误地重命名了RouteConfig.cs中url参数的文字字符串值中的"id" .这导致了在Windows Server 2012和Windows Server 2008 R2中进行全新且正确设置的403.14.

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

被改为

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{renamed_text}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)