网站301重定向的四种方法

1、首先虚拟空间iis。将不带www的顶级域名301重定向到带www的域名

1.3版的域名重定向:# For ISAPI_Rewrite 1.3 重定向域名RewriteCond Host: ^16sucai.com$RewriteRule (.*) http://www.16sucai.com$1 [I,R]这里我们要将16sucai.com重定向到 www.16sucai.com由于ISAPI Rewrite现在使用较多的有两个版本2.x版跟3.x版那么我们规则就把两个版本的都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond Host: ^16sucai.com$RewriteRule (.*) http://www.16sucai.com$1 [I,RP]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^16sucai.com$RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]不同域名之间的301转向# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^fuka.com.cn$RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^www.fuka.com.cn$RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]将页面301重定向到另外一个页面# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteRule ^/oldpage.html$ http://www.16sucai.com/bibu.html[I,O,RP,L]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteRule ^/oldpage.html$ http://www.16sucai.com/bibu.html[NC,L,R=301,O]注意:ISAPI_Rewrite 1.3是现在国内应用得比较多的一个老版本,它可用于url 重写,但并不适合用来实现真正的301重定向功能。建议下载最新的ISAPI_Rewrite 3.0 版本。在 url转发和301转向(重定向跳转)的实现 这篇文章介绍了一段ISAPI_Rewrite 1.3 的重定向代码,这段代码在IIS下对域名重定向虽然能够顺利跳转,但是返回的仍然是302 HTTP header,而不是301 状态码。而且该段代码用于301重定向后,在blog中的其他页面都会跳转到首页。这样设置以后,你的windows iis 也能实现301重定向了,不管是Google 和百度搜索引擎都不会有因为带有www和不带www的域名而产生重复页面问题了。
格式问题。 = =、将不带www的顶级域名301重定向到带www的域名
 
1.3版的域名重定向:
# For ISAPI_Rewrite 1.3 重定向域名
RewriteCond Host: ^16sucai.com$
RewriteRule (.*) http://www.16sucai.com$1 [I,R]
这里我们要将AFangfa.com重定向到 www.AFangfa.com
由于ISAPI Rewrite现在使用较多的有两个版本2.x版跟3.x版
那么我们规则就把两个版本的都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
 
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^16sucai.com$
RewriteRule (.*) http://www.16sucai.com$1 [I,RP]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^16sucai.com$
RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]
不同域名之间的301转向
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^isapirewrite.com$
RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^www.isapirewrite.com$
RewriteRule (.*) http://www.16sucai.com$1 [NC,R=301]
将页面301重定向到另外一个页面
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ http://www.16sucai.com/bibu.html[I,O,RP,L]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ http://www.16sucai.com/bibu.html[NC,L,R=301,O]
注意:ISAPI_Rewrite 1.3是现在国内应用得比较多的一个老版本,它可用于url 重写,但并不适合用来实现真正的301重定向功能。建议下载最新的ISAPI_Rewrite 3.0 版本。在 url转发和301转向(重定向跳转)的实现 这篇文章介绍了一段ISAPI_Rewrite 1.3 的重定向代码,这段代码在IIS下对域名重定向虽然能够顺利跳转,但是返回的仍然是302 HTTP header,而不是301 状态码。而且该段代码用于301重定向后,在blog中的其他页面都会跳转到首页。
这样设置以后,你的windows iis 也能实现301重定向了,不管是Google 和百度搜索引擎都不会有因为带有www和不带www的域名而产生重复页面问题了。

2、asp的两种301重定向方法

第一种:
可以使用web.config的方式重定向。代码如下:<configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^songjiguang.com$" /> </conditions> <action type="Redirect" url="http://www.16sucai.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer></configuration>保存并上传到网站根目录即可。 
第二种:
头部添加
<% Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.16sucai.com/" '你要转到的地址,实际到具体页面即可 Response.End %>

3、php的301重定向方法

<?php $the_host = $_SERVER['HTTP_HOST'];//取得当前域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面是否有参数 if($the_host != 'www.16sucai.com')//把这里的域名换上你想要的 { header('HTTP/1.1 301 Moved Permanently');//发出301头部 header('Location: http://www.16sucai.com'.$request_uri);//跳转到你希望的地址格式 } ?>


4、.htaceess文件 301重定向方法


创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对16sucai.com的请求都转向到对www.16sucai.com进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件
Options +FollowSymlinks RewriteEngine on rewritecond % ^16sucai.com [nc] 
rewriterule ^(.*)$ http://www.16sucai.com/$1 [r=301,nc]