在您的服务器上:
检查%SystemRoot%\system32\inetsrv\rewrite.dll 是否存在
如果是,请在管理员模式下打开此配置文件:
%SystemRoot%\System32\inetsrv\Config\applicationHost.config
(对于 64 位 Windows,请确保使用 64 位文本编辑器,否则您将收到“找不到文件”错误`) 并检查您是否有以下“重写”元素(提供的父元素仅供结构参考)
<sectionGroup name="system.webServer">
<sectionGroup name="rewrite">
<section name="rules" overrideModeDefault="Allow" />
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
<section name="outboundRules" overrideModeDefault="Allow" />
<section name="providers" overrideModeDefault="Allow" />
<section name="rewriteMaps" overrideModeDefault="Allow" />
<section name="allowedServerVariables" overrideModeDefault="Deny" />
</sectionGroup>
<globalModules>
<add name="Rewrite" image="%SystemRoot%\System32\inetsrv\rewrite.dll" preCondition="bitness64" />
<location path="" overrideMode="Allow">
<system.webServer>
<modules>
<add name="Rewrite" preCondition="bitness64" />
就我而言,applicationHost.config 中缺少每个相关部分,我必须添加上述所有内容。保存文件,重新启动 IIS(可能没有必要,但我很乐意这样做),再次单击“URL Rewrite”图标,错误就消失了。之后,我用新部分修改了我网站的 web.config,它按预期工作。