我有一个简单的webAPI构建Visual Studio 2013。当我从VS13运行它时,它工作得很好,但当我在本地IIS中复制项目时,它给了我以下错误。

HTTP错误500.19 -内部服务器错误不能被请求的页面 访问,因为该页的相关配置数据为 无效的。

详细错误信息:

模块IIS Web核心

通知BeginRequest

处理人尚未确定

错误码0x80070021

配置错误该配置项不能在该路径下使用。当section被锁定在父级时,就会发生这种情况。锁定是默认的(overrideModeDefault="Deny"),或者由overrideMode="Deny"或遗留的allowOverride="false"的位置标记显式设置。

配置文件\?\C:\inetpub\wwwroot\APITeslin\web.config

配置来源:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

当前回答

得到了完全相同的错误,然后得到了这个问题。正如@SpaceBison在评论中提到的,这个答案描述了解决方案- https://stackoverflow.com/a/12867753/404099。我发现得太晚了,它漏了几步。这对我来说很管用:

Windows Server 2012, IIS 8.5。应该也适用于其他版本。

Go to server manager, click add roles and features In the roles section choose: Web Server Under Security sub-section choose everything (I excluded digest, IP restrictions and URL authorization as we don't use them) Under Application Development choose .NET Extensibility 4.5, ASP.NET 4.5 and both ISAPI entries In the features section choose: NET 3.5, .NET 4.5, ASP.NET 4.5 In the web server section choose: Web Server (all), Management Tools (IIS Management Console and Management Service), Windows Authentication - if you are using any of it

其他回答

对我来说有效的解决方案是删除我当前的网页。配置并添加一个新的。这为我解决了问题

该路径下不能使用该配置段。当section被锁定在父级时,就会发生这种情况。默认情况下锁定(overrideModeDefault= " Deny ")

你好男人

旧的IIS和服务器

当我们想要在新的Microsoft Windows Server 2016上构建的iis10上运行应用程序时,可能会遇到以下错误。

HTTP错误500.19 -内部服务器错误

无法访问请求的页面,因为该页的相关配置数据无效。

该路径下不能使用该配置段。当section被锁定在父级时,就会发生这种情况。锁定是默认的(overrideModeDefault= " Deny "),或者由overrideMode= " Deny "或遗留的allowOverride= " false的位置标记显式设置 解决办法很简单。

在您的计算机上按照C:\Windows\System32\inetsrv\config文件路径操作。将applicationHost配置文件中的overrideModeDefault= " Deny "部分更改为" Allow "。然后,当您重新启动IIS时,问题将得到解决。

你的网络。config描述了您正在使用表单身份验证-确保您在IIS的身份验证菜单下启用了表单身份验证并禁用了IIS中的匿名身份验证,对于在IIS中运行的网站。

检查IIS服务器是否安装了URL重写功能。 如果没有安装,请确保您的web。配置文件没有URL重写相关配置

<!-- Make sure don't have below config, if server have not installed url rewrite feature. -->
<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/> ...

有时我们从旧服务器复制配置,然后直接部署到全新的服务器,然后我们可能会遇到这样的500问题。

在Windows 8.1和iis8.5上,我的解决方案是从控制面板注册4.5:

程序和功能>打开或关闭Windows功能>信息信息服务>万维网服务>应用程序开发功能>选择ASP。NET 4.5

单击OK。