我喜欢SEO、网络营销及建站,希望与志同道合的您
建立合作或相互学习关系 QQ:10343829

IIS8 配置 web.config 实现http和https不带www跳转到带www的https

为了保证域名统一,将访问 

http://tozhongyi.com

http://www.tozhongyi.com

https://tozhongyi.com

 的域名都跳转到

https://www.tozhongyi.com

,IIS 可以进行如下配置 (需要安装 IIS UrlRewrite 模块,代码注释是为了方便理解,部署到线上请删除中文注释):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HostNameRule1">
                    <match url="(.*)" />
                    <!–匹配所有条件–>
                    <conditions logicalGrouping="MatchAny">
                        <!–当不是使用https协议访问的时候–>
                        <add input="{HTTPS}" pattern="^OFF$" />
                        <!–并且访问的host不是tozhongyi.com这种,例如www.tozhongyi.com–>
                        <add input="{HTTP_HOST}" pattern="^www\.tozhongyi\.com$" negate="true" />
                    </conditions>
                    <!–跳转到https–>
                    <action type="Redirect" url="https://www.tozhongyi.com/{R:1}" />
                </rule>
                <rule name="HTTPS redirect">
                    <match url="(.*)" />
                    <conditions>
                        <!–当使用HTTPS协议访问–>
                        <add input="{HTTPS}" pattern="^ON$" />
                        <!–当访问 https://tozhongyi.com的时候 –>
                        <add input="{HTTP_HOST}" pattern="^www\.tozhongyi\.com$" negate="true" />
                    </conditions>
                    <!–跳转到HTTPS–>
                    <action type="Redirect" url="https://www.tozhongyi.com/{R:1}" redirectType="SeeOther" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

保存上面代码为web.config 放置网站根目录。

转载请著名来源:天天小站 » IIS8 配置 web.config 实现http和https不带www跳转到带www的https

分享到:更多 ()