本地运行Sitecore网站遇空白提示的500.19错误求助
看起来你碰到的这两个错误是关联的,500.19是IIS配置层面的问题,而0x8007000d本质是配置文件格式无效,结合你提到的erb.config,大概率是这个文件或者对它的引用出了问题。下面是我整理的几个排查和解决步骤,你可以一步步试:
先检查
erb.config的合法性
0x8007000d错误明确指向配置文件解析失败,你先打开这个erb.config文件,仔细检查XML语法:有没有未闭合的标签、拼写错误的节点名,或者不符合Sitecore配置规范的内容。另外要确认这个文件是不是模板文件(比如erb是嵌入式Ruby模板后缀),如果是,需要先把它编译成标准的.config格式再让IIS加载,不然IIS根本识别不了这种格式。修复web.config对erb.config的引用
打开站点的web.config,看看里面有没有引用erb.config的地方,比如<appSettings file="erb.config">或者<configSections>里的相关配置。如果有,先确认文件路径是否正确,要是路径没问题但erb.config本身有问题,建议先临时移除这个引用,把相关配置直接写到web.config里,再重启站点试试能不能访问。重新注册ASP.NET到IIS
有时候IIS的身份验证模块会因为组件损坏导致无法加载配置,你可以用管理员权限打开命令提示符,运行对应的ASP.NET注册命令:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i(注意根据你Sitecore使用的.NET版本调整路径,比如v4.8的话路径里的版本号会不同),运行完后重启IIS:
iisreset检查站点文件权限
500.19错误也经常和权限有关,确认你的应用程序池身份(比如Network Service、Local System或者你自定义的账户)对站点根目录有读取和执行的权限。右键站点文件夹→属性→安全,添加对应的账户并设置权限,然后刷新站点试试。开启详细错误日志定位问题
如果上面的步骤还没解决,建议开启IIS的详细错误:打开IIS管理器,找到你的站点,双击“错误页”,找到500.19错误,设置为“详细错误”模式,这样访问站点时就能看到具体是哪个配置节点出了问题,更容易排查。
内容的提问来源于stack exchange,提问作者Nom




