用子域重写为HTTPS?

时间:2019-04-25 14:21:21

标签: iis url-rewriting web-config

如何设置web.config来处理以下重定向

  1. http://example.com-> https://example.sub.com
  2. http://www.example.com-> https://example.sub.com
  3. http://example.sub.com-> https://example.sub.com

我不确定的部分与网址匹配,例如

http://<dynamic>http://<dynamic>.sub.com

1 个答案:

答案 0 :(得分:0)

我用两个规则解决这个问题。当主机名包含.sub.com并仅执行简单的重定向时,将匹配一个。下一个会将.sub.com附加到主机名。

这些基于https://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/#redirect-https的#4

最后,在您证明一切正常后,将两个规则中的“发现”都更改为“永久”。

<rule name="Redirect to HTTPS" stopProcessing="true">  
    <match url="(.*)" />  
    <conditions>  
        <add input="{HTTPS}" pattern="^OFF$" />  
        <add input="{HTTP_HOST}" pattern="\.sub\.com$" />  
    </conditions>  
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />  
</rule>
<rule name="Redirect to HTTPS" stopProcessing="true">  
    <match url="(.*)" />  
    <conditions>  
        <add input="{HTTPS}" pattern="^OFF$" />    
    </conditions>  
    <action type="Redirect" url="https://{HTTP_HOST}.sub.com/{R:1}" redirectType="Found"     />  
</rule>