HTTP到HTTPS仅重定向一个URL

时间:2012-02-29 23:52:21

标签: asp.net http redirect iis-7 https

想知道是否有人可以提供帮助。非常感谢!

问题

  • blog.example.com
  • cool.example.com

    重定向到 https://www.example.com

目标

我们只是尝试重定向

  • http://example.com

  • http://www.example.com

    https://www.example.com

当前代码

web.config中的当前代码是这样的。坚持<match url="(.*)">

以下是其余的重写规则。

<system.webServer>     
 <rewrite>
    <rules>
       <rule name="Redirect to https">
          <match url="(.*)" />
          <conditions>
             <add input="{SERVER_PORT}" pattern="443" negate="true" />
          </conditions>
          <action type="Redirect" url="https://www.example.com" />
       </rule>
    </rules>
 </rewrite>
<modules runAllManagedModulesForAllRequests="true"/>
<defaultDocument enabled="true">
  <files>
    <clear/>    
    <!--Remove this line or place below to deprecate-->
    <add value="default.aspx"/>
    <add value="index.html"/>
    <add value="index.php"/>
    <add value="default.html"/>
  </files>
</defaultDocument>

2 个答案:

答案 0 :(得分:2)

修改<match url="(.*)" />以仅包含example.comwww.example.com - 现在您正在匹配所有网址。

http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

答案 1 :(得分:1)

试试这个:

<rule name="Rewrite HTTP to HTTPS" stopProcessing="false" enabled="false">
<match url=".*" />
<conditions>
    <add input="{HTTPS}" pattern="off" />
    <add input="{HTTP_HOST}" type=”Pattern” pattern="^(www\.)?example.com$">
</conditions>
<action type="Redirect" url="https://www.example.com{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />