带有www的URL在IIS中导致404

时间:2016-03-28 17:53:45

标签: iis url-rewriting iis-7 rewrite

我在domain.com上有一个网站。我最近安装了SSL证书,因此我可以使用HTTPS。

在IIS中,我为domain.com和www.domain.com创建了http和https的绑定。然后我在我的web.config中有一个URL重写规则,它调整每个网址以指向https://domain.com

我的问题是,当我转到http://domain.comhttps://domain.com时,该网站有效,但http://wwww.domain.comhttps://www.domain.com却没有。这是我的重写规则还是我的绑定问题?

这是我的web.config供参考:

<configuration>
<system.webServer>
    <rewrite>
        <rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="^OFF$" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
</rule> 
            <rule name="Imported Rule 1">
                <match url="^(register)$" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
                <action type="Redirect" url="https://domain.com/register.php" redirectType="Found" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

1 个答案:

答案 0 :(得分:0)

我像这个代码块一样解决了这个问题。

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