HTTP 错误 403.14
Posted
技术标签:
【中文标题】HTTP 错误 403.14【英文标题】:HTTP Error 403.14 【发布时间】:2015-06-15 08:48:16 【问题描述】:我正在使用 VS 2013 开发我的 MVC 5 应用程序,它运行良好,但突然出现以下错误。
- 禁止
Web 服务器配置为不列出此目录的内容。
我已经阅读了this post,并没有解决问题。
我尝试了以下方法:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
将system.webServer
中的runAllManagedModulesForAllRequests
设置为true
。
将owin:AutomaticAppStartup
设置为false
。
正在重启 VS 和 Windows!
发布应用并尝试在 IIS 上运行它(我使用的是 Win 8.1)。
我敢肯定没有人玩过权限。
我已开启.NET Extensibility 3.5。
我已将项目复制到本地磁盘并尝试在那里运行。
我正在开发一个自定义用户存储,这就是我尝试禁用 owin 配置的原因(但在开发过程中我没有更改 global.asax
或 web.config
中的任何内容。)
当我运行应用程序时,在出现错误之前的一秒钟内,我可以看到正确的标题。我可以很好地运行其他应用程序。
我设置了一个断点,以下异常是 IntelliTrace 中的第一项。会不会和错误有关系?
异常:捕获:“访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\~AspAccessCheck_75bc30d35780.tmp' 被拒绝。” (System.UnauthorizedAccessException) 一个 System.UnauthorizedAccessException 被捕获:“访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\~AspAccessCheck_75bc30d35780.tmp' 被拒绝。”
【问题讨论】:
检查您的应用程序池是否设置为 Framework 4.5,或者可能是您的路由错误...只是一些想法 在 IIS 管理器中,DefaultAppPool
设置为 v4.0.30319
。应用程序池有一排 4.5
,但在 CLR version
中,只有 4 和 2。
好吧,听起来你在这方面没问题。当我的路由不正确时,我也看到了这一点。除了收到错误的页面之外,您是否能够导航到您网站上的任何其他页面?
不,我已经尝试了几页,但都给出了错误。
好的,所以这可能会对您的路由产生不利影响?
【参考方案1】:
静止不动! VS 中有一个refactor bug 也会改变路由!
我的默认路由更改为以下,我不得不将name
重命名为id
,一切正常!
routes.MapRoute(
name: "Default",
url: "controller/action/name",
defaults: new controller = "Home", action = "Index", id = UrlParameter.Optional
);
【讨论】:
我怀疑它是路由。很高兴听到你查到了真相! 谢谢库尔顿。 :) 你昨天建议的,我什至看了配置,但我没有注意到变化。以上是关于HTTP 错误 403.14的主要内容,如果未能解决你的问题,请参考以下文章
HTTP 错误 403.14 - 禁止。 ASP.NET MVC
HTTP 错误 403.14 - 禁止 - Web 服务器配置为不列出此目录的内容
HTTP 错误 403.14 - 禁止 - 带有 IIS Express 的 MVC 4