配置错误:无法在此路径上使用此配置部分

将网站部署到服务器时遇到错误。尝试加载主页或访问 IIS 中新站点上的身份验证时,出现错误:

配置错误:无法在此路径上使用此配置部分。当节锁定在父级时,会发生这种情况。锁定默认情况下是(overrideModeDefault =“Deny”),或者是由一个带有 overlayMode =“Deny” 或旧版 allowOverride =“false” 的位置标记显式设置的。

方案 7 中匹配我的十六进制错误代码,可以在这里找到更多详细信息。

上面的链接站点上给出的解决方案是在我的错误中提到的部分中,在applicationHost.config文件中设置Allow for overlayModeDefault。就我而言,位于system.webServer 中的 Security下。但是,如果我查看本地计算机上已经正确部署了站点的applicationHost.config ,则该部分设置为Deny

如果此解决方案正确,那么我的本地实例如何在相同的web.config下正常运行?根据我的applicationHost.config ,该部分应被锁定,但不是。我希望不要更改applicationHost.config文件,因为该服务器上还有许多其他站点正在运行。还有其他解决方案吗?

答案

我有同样的问题。不记得我在网上找到的位置了,但这是我做的:

  • 点击 “开始按钮”
  • 在搜索框中,输入 “打开或关闭 Windows 功能”
  • 在功能窗口中,单击:“Internet 信息服务”
  • 单击:“万维网服务”
  • 单击:“应用程序开发功能”
  • 检查(启用)功能。我检查了所有,但 CGI。

顺便说一句,我正在使用 Windows 7。

您也可以使用IIS 管理器来编辑那些设置。

这篇学习 IIS 文章的内容

从 IIS 的根目录使用功能委托

IIS管理器中的功能委派图标

然后,您可以控制每个计算机级别的读 / 写权限,否则将给您overrideMode =“Deny”错误。

特征委托的使用示例

对于Windows Server 2012IIS 8 ,此过程类似。

应安装Web Server (IIS)Application Server ,并且在Application Server下还应具有可选的Web Server (IIS) Support

Windows Server 2012和IIS 8对MVC的要求

浏览到 “C:\ Windows \ System32 \ inetsrv \ config”(您将在此处需要管理员权限)打开 applicationHost.config

注意 :在 IISExpress 和 Visual Studio 2015 中,applicationHost.config 存储在$(solutionDir).vs\config\applicationhost.config

找到错误消息页面的 “配置源” 部分中显示的部分。对我来说,这通常是 “模块” 或 “处理程序”

overrideModeDefault属性更改为Allow

所以整行现在看起来像:

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

保存文件后,页面在我的浏览器中正常加载。

警告: 在 64 位 Windows 上编辑 applicationHost.config

您需要解锁处理程序。可以使用以下 cmd 命令完成此操作:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers

对于在 IIS 8 上出现此错误的人来说,也许是另一个信息,在我的情况下是在 Microsoft Server 2012 平台上。我花了几个小时来应对执行 appcmd 之后冒出来的其他错误。最后,我能够通过删除 Web 服务器角色并再次安装来修复它。

对于 Win 10 (可能也适用于其他 Windows 版本。)

1. 通过以下方式打开 “ 打开或关闭 Windows 功能 ”:WinKey + R =>“optionalfeatures” => 确定

在此处输入图片说明

  1. 在 “ 应用程序开发功能”下启用这些功能

在此处输入图片说明

根据我对类似问题的回答 ;

尝试在服务器级别解锁相关的 IIS 配置设置,如下所示:

  1. 打开IIS 管理器
  2. 在 “连接” 窗格中选择服务器
  3. 在主窗格中打开 “ 配置编辑器
  4. 在 “部分” 下拉列表中,选择要解锁的部分,例如system.webServer> defaultPath
  5. 单击右窗格中的解锁属性
  6. 重复其他需要解锁的设置
  7. 重新启动 IIS(可选)- 在 “Conncetions” 窗格中选择服务器,然后在 “Actions” 窗格中单击 “Restart”

我需要从和提升的命令提示符下运行以下两个命令:

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication

在带有IIS 8 的 Windows Server 2012 上 ,我已通过启用ASP.NET 4.5功能解决了此问题:

在此处输入图片说明

然后按照肯的回答

最好的选择是从 “ Custom Site Delegation Application Settings更改 “ Application Settings
打开IIS然后从根目录中选择 “ Feature Delegation ,然后选择 “ Application Settings然后从右侧栏中选择 “ Read/Write 步骤1 第2步