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]