子应用程序上的HTTPS重定向

时间:2016-02-08 16:05:10

标签: asp.net redirect iis

我有一个使用此域http://abc.example.com/portal的应用程序。 Portal是IIS上主应用程序(abc.example.com)的子应用程序。

如果有人通过https://abc.example.com/portal访问它,我想重定向到http://abc.example.com/portal

我将这些行添加到web.config:

<rewrite>
   <rules>
       <rule name="HTTPS Redirect" enabled="true">
           <match url="(.*)" ignoreCase="false" />
           <conditions>
               <add input="{HTTPS}" pattern="off" />
           </conditions>
           <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
       </rule>
    </rules>
</rewrite>

在此之后,如果我致电网站http://abc.example.com/portal,则会转到https://abc.example.com/,而不是https://abc.example.com/portal

你们有什么想法我怎样才能做到这一点?

谢谢,

1 个答案:

答案 0 :(得分:1)

尝试将规则更改为:

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

此外,如果/ example子目录是一个应用程序,请确保将这些重写规则放在该web.config中,而不是父应用程序的web.config。