web.config将所有请求重定向到https:// www

时间:2013-09-27 12:46:58

标签: iis web-config

我们希望将所有传入的请求重定向到https://www.domain.com

我们已尝试过几十个来自网络的代码片段,但没有一个覆盖上面的所有示例。

任何人都可以为IIS提供适当的web.config文件吗?

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。这个规则对我有用。

    <rewrite>
        <rules>
            <clear />
            <rule name="Redirect non-www OR non-https to https://www">
                <match url=".*" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{HTTP_HOST}" pattern="^domain.com$" />
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://www.domain.com/{R:0}" redirectType="Permanent"/>
            </rule>
        </rules>
    </rewrite>

答案 1 :(得分:1)

最好的方法是通过DNS记录+一些IIS配置。

  • 添加将domain.com重定向到www.domain.com的CName
  • 在IIS中,创建一个“虚假”网站并编辑其绑定以处理http://www.domain.com
  • 在此“虚假”网站(或通过用户界面)的web.config中配置HTTP重定向,以将来自主机名www.domain.com的请求重定向到https://www.domain.com $ S $ Q($ S和$ Q允许您在重定向后保留参数,有关详细信息,请参阅this链接)
  • 最后,删除您网站的HTTP绑定(仅对此使用https绑定)。