做SEO或者曾经经历过域名转向问题的都知道301的必要性。301重定向(301转向)可促进搜索引擎优化效果。也就是说301永久重定向对SEO没有任何不好的影响。同样的,在使用301重定向命令让多个域名指向一个主域时,也不会对网站的排名产生任何负面影响。
当然,这里需要注意的是转发和重定向的区别。它们的主要不同点有:
1、转发是服务器行为,重定向是客户端行为;
2、转发时一次请求,重定向是2次请求;
3、转发地址栏不会发生改变,重定向地址栏会改变;
4、转发在项目内,重定向 可以转到项目外;
5、当使用转发时,浏览器将不会知道这个过程;而重定向方式是第一个页面通知浏览器发送一个新的页面请求;
301重定向(301转向)有什么作用:
1、网页的权重和关键词排名都会传递给重定向网页;
2、能够促进网站的优化;
3、告知搜索引擎网页已经做了转向,避免搜索引擎找不到页面;
什么时候可以使用301重定向(301转向)
1、换新域名,做301可以,挽回流量损失和SEO;
2、网站改版,删除网站中的某些目录时,这时可以用301永久重定向到网站首页;
3、有多域名时需要指向同一网站时,可以用301重定向可以实现;
4、域名标准化;
如何实现301重定向(301转向)
方法一、在.htaccess文件中增加301重定向指令
.htaccess采用“mod_rewrite”技术,形如:
RewriteEngine on
RewriteRule ^(.*)$ http://www.bktj.net/$1 [R=301,L]
方法二、使用Unix网络服务器的用户
通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.bktj.net/
方法三、在服务器软件的系统管理员配置区完成301重定向
适用于使用Window网络服务器的用户
方法四、绑定/本地DNS
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将blog.williamlong.info指向www.bktj.net,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.bktj.net。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.bktj.net.
这样就可将所有未设置的以bktj.net结尾的记录全部重定向到www.bktj.net上。
方法五、用ASP/PHP实现301重定向:
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.bktj.net/"
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.bktj.net/");
exit();
iis服务器实现301重定向(301转向)操作步骤详解:
1、新建一个站点,对应目录如E:\wwwroot\301web。该目录下只需要1个文件,即index.html或者加个404.htm。绑定要跳转的域名,如图:
2、在IIS中选中刚才我们建立的站点,右键----属性---主目录,选择重定向到,输入网址如:http://www.xxxx.com,需要特别注意选中下面的资源的永久重定向选项。如下图:
3、到此,已经将xxxx.com这个域名301重定向到www.xxxx.com。
把老域名301到新域名
更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下
RewriteEngine On
RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]
RewriteCond %{http_host} ^new.com$ [NC]
RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L]
现在无论你访问old.com,www.old.com,new.com都会301到www.new.com 够完美了吧!而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!
需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。
恩,本文主要就是讲解301重定向,301转向详细操作方法。在以后的其他文章中将会针对某个程序的301重定向做具体说明。