最近在咨询的过程中发现很多网友不懂301重定向的意思。网上相关教程很多,但是鉴于新手的理解能力有限,本人搜集整理了一些资料,试图用最简单的话把这个事情说清楚,并结合实战做点评。
假设我有两个网址(不同的URL就算是不同的网址),如
http://www.xxxx.net.cn和http://zzzz.net.cn就是两个不同的网址。
或者更明显的是http://www.zzzz.net.cn和我的另外的站http://www.XXXX.net.cn
明白这个了来讲讲什么是301重定向。重定向就是把A网址指向B网址的方法。301重定向是表示页面永久性移走。举例:如果我把http://www.XXXX.net.cn301重定向到http://www.zzzz.net.cn.就是表示http://www.XXXX.net.cn页面永久移到http://www.zzzz.net.cn。
还有一种302重定向,表示页面暂时移走,例子可以参照上面。
那么做301重定向有什么好处?做不好对SE不友好,造成不收录,权重减小等。做好了可以把为自己的网页权重加把力。
我们在实际操作中常常遇到一下的情况:
1. 网站域名改变了。比如我想把http://www.XXXX.net.cn改成http://www.zzzz.net.cn。但是网址一改,怕很多被SE收录的文章打不开。
2. 动态页面为了优化转静态页面。因为动态和静态的URL不一样,所以即使是内容完全相同的页面,SE也会判为不同。
3. 域名解析的时候解析了多个域名到一个页面。比如
http://www.xxxx.net.cn 和http://xxxx.net.cn/
两个网址指向一个页面,弄不好会造成页面降权。
以上的问题如果处理不好都会对SE不利。那么从事SEO,急需用重定向技术来处理。在众多技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。而302暂时定向和URL转发都是不可取的。
那么对于正确实施301重定向,有这样几个方法可供大家参考:
1.apache服务器在.htaccess文件中增加301重定向指令
采用“mod_rewrite”技术,形如:
RewriteEngine on
RewriteRule ^(.*)$ http://www.xxxx.net.cn$1 [R=301,L]
2.适用于使用Unix网络服务器的用户
通过此指令通知搜索引擎的蜘蛛你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.xxxx.net.cn
3.在服务器软件的系统管理员配置区完成301重定向
适用于使用Window网络服务器的用户
4.绑定/本地DNS
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将blog.williamlong.info指向www.xxxx.net.cn,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.xxxx.net.cn。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.xxxx.net.cn.
这样就可将所有未设置的以williamlong.info结尾的记录全部重定向到www.xxxx.net.cn上。
5.用ASP/PHP实现301重定向:
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.xxxx.net.cn"
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.xxxx.net.cn");
exit();
说明:把代码加到相关页面就可以了。
简单点评下:对于服务器用户,使用.htaccess最方便。但是特别是国内大部分网民都是使用虚拟主机,这时候可以用第五种办法:用ASP/PHP实现301重定向。网友在使用的时候把我的域名换成你就可以了。
参考文献:http://www.williamlong.info/archives/484.html
转载请注明来自:SEO实验室 http://www.seolabs.net.cn