win主机用web.config和httpd.ini实现301重定向
当你准备好好看这篇文章的时候,你应该已经知道了301重定向的作用与意义了,那么这里就不多加解释了。
那么我唯一想提的就是关于域名带与不带www的区别,并且301重定在其中的意义,详情:域名带与不带www的区别
这里我们以将域名“qiankoo.com”重定向到“www.qiankoo.com”为例
Windows虚拟主机用户的实现301重定向的方法:
Windows server 2003 IIS6.0虚拟主机下301重定向代码
httpd.ini文件配置的代码如下,放置位置:网站根目录
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^qiankoo\.com$
RewriteRule (.*) http\://www\.qiankoo\.com$1 [I,R]
注:记得把其中的域名换成你的域名。如果你的网站根目录中的这个文件已经存在(伪静态),可以将上面的代码直接加到里面
Windows server 2008 IIS7.5虚拟主机下的urlrewrtie规则
web.config文件代码如下,放置位置:网站根目录
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^qiankoo.com$" /> </conditions> <action type="Redirect" url="http://www.qiankoo.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
记得把其中的域名换成你的域名。
注:经实验,此方法只能重定向首页,如需整站301跳转,需要在iis7中新建一个站点不带www,随便指定一个目录,设置这个站点301跳转到带www 的即可,这点网上很多地方都没有说
二,多对域名重定向怎么写规则?
1、对于httpd.ini 配置文件中需要另写一行重定向代码。
如下,将域名“qiankoo.com”、“www.vuln.cn”都重定向到“www.qiankoo.com”
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^qiankoo\.com$
RewriteRule (.*) http\://www\.qiankoo\.com$1 [I,R]
RewriteCond Host: ^seo.qiankoo\.com$
RewriteRule (.*) http\://www\.qiankoo\.com$1 [I,R]
2. web.config配置文件中只需在被重定向的域名后面加一个竖线”|”跟上需要被重定向的增加域名即可。
如下
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^qiankoo.com|www.vuln.cn$" /> </conditions> <action type="Redirect" url="http://www.qiankoo.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
注:因为即使是做了301跳转之后,搜索引擎对你另外一个带www的域名还是会有一个考察期的,这个考察与新站稍有不同。权重一般不会丢失。所以做过301跳转后会有一个作用期,不会马上生效!