HTTPS重定向工作不正常

时间:2016-10-22 13:30:43

标签: asp.net https web-config url-redirection

我在ASP.NET web.config文件中使用以下代码重定向" www"请求到我的安全网站:

<rewrite>
    <rules>
      <clear/>
      <rule name="httpsredirect" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{REQUEST_URI}" />
      </rule>
    </rules>
</rewrite>

目标是确保当有人进入时

  

&#34; http://www.example.com/somepage.aspx&#34;

他们被重定向到

  

&#34; https://www.example.com/somepage.aspx&#34;

问题是重定向在将它们发送到安全站点时效果很好,但是目标URI丢失了,因此它们被发送到站点的根默认页面。这里有什么帮助?谢谢! 现在

2 个答案:

答案 0 :(得分:1)

尝试更改

<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{REQUEST_URI}" />

<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />

答案 1 :(得分:1)

如果您查看答案{{3}},您会发现他们url="https://{HTTP_HOST}{REQUEST_URI}"而不是url="https://{HTTP_HOST}/{REQUEST_URI}"