我们已经为我们的网站实施了https
,所以基本上我们所做的就是实现重定向。
<rewrite>
<rules>
<rule name="rule - name" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://yourpath" redirectType="youttype" />
</rule>
</rules>
</rewrite>
重定向工作正常,但我遇到了问题。一些用户已在书签中保存了旧路径,例如此http://applicationName/Account/Login?ReturnUrl=%2f
,重定向正在执行此操作 - &gt; https://applicationName/?ReturnUrl=/
我收到了您可以在下面看到的错误:
401 - 未经授权:由于凭据无效,访问被拒绝。您 没有权限使用。查看此目录或页面 您提供的凭据。
到目前为止我试图解决的问题是在web.config中添加我的appsetting,我看到的一些东西可以解决问题:
<appSettings>
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
</appSettings>
并且还
<authorization>
<allow users="*"/>
</authorization>
但我仍然遇到与重定向相同的问题。知道如何解决这个问题?
谢谢!
答案 0 :(得分:1)
尝试根据匹配而不是静态构建您的网址:
<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>