Windows Server 2008 R2 SP1 上的 IIS 7
我已将以下规则添加到我的 web.config 中,以将所有传入请求重定向到 HTTPS
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
当 URL 或文件名中存在与号 (&) 时,它会失败。我查看了一些提供的解决方案,但不想通过注册表允许特殊字符。有没有办法在重定向规则之前执行重写以将与号编码为 & 或 %26?HTTPS 重定向规则使用原始 URL 还是新重写/编码的版本?
答案1
您需要使用 [NE] 参数
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" [NE] />