IIS7 IIS7.5 IIS8.5 HTTP 错误 500.19 – Internal Server Error解决方案小记

今天配置IIS(win8.1 IIS8.5)的web.config出现如下错误:

HTTP 错误 500.19 – Internal Server Error

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

不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=”Deny”),或者是通过包含 overrideMode=”Deny” 或旧有的allowOverride=”false” 的位置标记明确设置的。

这个原来在我的Win7下是可以正常启用的,后来了解到,这是因为较新版本的IIS采用了更安全的web.config管理机制,锁住了配置项不允许更改。

以下是网上找到的解决方法:

如果提示的代码包含了节或节或其它节,因为IIS采用了更安全的web.config管理机制,锁住了配置项不允许更改。要取消锁定可以以管理员身份运行c:\windows\system32下的cmd.exe。输入:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers命令。

运行成功的话会提示:

在配置路径“MACHINE/WEBROOT/APPHOST”解除了“system.webServer/handlers”节的锁定。

同样,解除“system.webServer/modules”节的锁定可运行命令:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules。

解除其它节点以此类推。

如何解除锁定后还是提示错误,则可能是因为IIS中一些功能没有安装完成。我们打开”打开或关闭windows功能”,安装好IIS的扩展功能,再运行IIS就完成了。