【问题标题】:Adding Rewrite rule to web.config causes error in IIS console将重写规则添加到 web.config 会导致 IIS 控制台中的错误
【发布时间】:2015-02-16 14:13:29
【问题描述】:

您好,我添加了一个 http 到 https 重定向到我的 web.config

<rewrite>
      <rules>
        <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAny">
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/" redirectType="Found" />
        </rule>
      </rules>
    </rewrite>

它在所要求的范围内,实际上它与我在另一个盒子上运行的另一个 iis 完全相同。

但是,当我在这台服务器上保存配置然后检查 IIS 控制面板时,我得到了一个

“执行此操作时出错...详细信息:文件名\?D:\site\web.config 错误:

并且没有错误。当我从配置中删除重写时,一切都很好。

此服务器设置与有效设置之间的唯一区别是损坏的服务器网站不在根目录中,或者它是默认网站。

以前有没有人遇到过这种类型的错误?

谢谢 乔恩

【问题讨论】:

    标签: iis web-config iis-8 http-redirect


    【解决方案1】:

    很奇怪,即使我在 IIS 中设置了所有内容,并且在添加/删除角色以包含 http 重定向期间,它仍然需要添加此扩展

    http://www.microsoft.com/web/gallery/install.aspx?appid=urlrewrite2

    urlrewrite。我安装了那个扩展,一切都开始工作了。遗憾的是错误消息无法告诉我我缺少该功能。

    【讨论】:

    • 它无法告诉您缺少功能。如果没有安装该功能,它只知道您的 web.config 文件中有无效标签。
    • 我发现这个错误非常无用 - 如果它指出哪些标签无效会更有帮助。它甚至没有给出准确的行号(表示-1)。空的“配置错误”也是不幸的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2013-08-19
    • 2017-02-15
    • 1970-01-01
    • 2014-10-29
    • 2014-11-04
    相关资源
    最近更新 更多