我在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丢失了,因此它们被发送到站点的根默认页面。这里有什么帮助?谢谢! 现在
答案 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}"
。