iis8 web.config配置301重定向

2015/12/18

因为不带www的域名好记些,所以一直使用不带www的域名,但还是将带www的域名解析了.虽然不是绝对的完美主义者,但是用带www的域名访问时,那个和设置的主页不一样的地址还是让人感觉很不爽.问了下主机提供商的售后,了解到他们使用的IIS版本是8.5,不支持.htaccess和httpd.ini规则文件.需配置web.config伪静态规则文件进行301重定向。

试了几个方法搞定.最终用以下的代码搞定.

带www跳转不带www

<?xml version="1.0" encoding="UTF-8"?>  
    <configuration>  
        <system.webServer>  
            <rewrite>  
                <rules>  
                    <rule name="301Redirect" stopProcessing="true">  
                    <match url="(.*)" />  
                    <conditions logicalGrouping="MatchAny">  
                        <add input="{HTTP_HOST}"pattern="^www\.539go\.com$" />  
                    </conditions>  
                    <action type="Redirect"url="http://539go.com/{R:0}" redirectType="Permanent" />  
                </rule>  
            </rules>  
        </rewrite>  
    </system.webServer>  
</configuration>  

上面有两个地址
www\.539go\.comhttp://539go.com/
前一个地址的书写格式表示 www.539go.com
这样的结果就是 访问www.539go.com时,会跳转到539go.com
根据自己的域名将上面的一大串代码修改后保存为web.config文件,上传到网站的更目录即可.

不带www跳转带www

只需按上面的代码进行类似如下的改写.并保存上传即可.

pattern="^539go\.com$"  
url="http://www.539go.com/{R:0}"  

配置好后可以检查一下.状态检查