301重定向作用
阅读量:100777
定义:301重定向(又称301永久重定向,301跳转)是一种非常重要的“自动转向”技术,是网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
作用
在网站建设中,时常会遇到需要网页重定向的情况:像网站调整,改变了网站的目录结构,网页被移到一个新地址。或者网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这些情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失。又比如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
方式介绍
常用的重定向方式有:301redirect,302redirect与metafresh:
1.301redirect:301代表永久性转移(PermanentlyMoved),301重定向是网页更改地址后对搜索引擎最友好的方法,只要不是暂时搬移的情况,都建议使用301来做转址。
2.302redirect:302代表暂时性转移(TemporarilyMoved),在前些年,不少BlackHatSEO曾广泛应用这项技术作弊。各大主要搜索引擎均加强了打击力度,像Google对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎误判为spam而遭到惩罚。
3.metafresh:这在2000年前比较流行,它具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之内),会被判断为spam。
服务器重定向设定
IIS服务器实现301重定向
打开internet信息服务管理器,在欲重定向的网页或目录上按右键 IIS6.0上面301重定向图 ,选择“重定向到URL”,
此处以重定向到百度为例
在“重定向到”输入框中输入要跳转到的目标网页的URL地址
选中“资源的永久重定向”(切记)
最后点击“应用”
Apache服务器实现301重定向
相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
redirectpermanent/index.phphttp://www/index.php?go=category_6(将网页index.php重定向到http://www./index.php?go=category_6)
通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考本站Apache手册。
PHP下的301重定向
Header("HTTP/1.1301MovedPermanently");
Header("Location:http://www");
exit;
?>
HTTP/1.1301MovedPermanently
ASP下的301重定向
<%@language=vbscript%>
<%
%>
ASP.NET下的301重定向
privatevoidPage_Load(objectsender,System.EventArgse)
{
}
ColdFusion下的301重定向
<.cfheaderstatuscode="301"statustext="movedpermanently">
<.cfheadername="location"value=>旧域名重定向到新域名
创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保旧域名所有的目录或者网页正确的跳转到新域名内。
记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件。
Options+FollowSymLinks
RewriteEngineon
RewriteRule(.*)http://www/$1[R=301,L]
请将上面的wwwdomaincom修改成你想要跳转到的域名。
此外,我建议大家归总旧网站的外部链接,并联系相应的站点修改导入链链的URL,以指向新站点。
注意:.htaccess文件只有在使用安装有ModRewrite模块的Apache作为WEB服务器的Linux主机上才能起作用。
域名重定向到www
首先要知道,www.是domaincom域下的一个二级域名。
301跳转到www二级域的实现方式:
创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对domaincom的请求都转向到对www进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件。
Options+FollowSymlinks
RewriteEngineon
RewriteCond%{HTTP_HOST}^[NC]
RewriteRule^(.*)$http://www./$1[L,R=301]
请将上面的domaincom修改成你想要跳转到的域名。
注意:.htaccess文件只有在使用安装有ModRewrite模块的Apache作为WEB服务器的Linux主机上才能起作用。
301重定向检测工具
301重定向是在搜索引擎优化中一个很常用的操作,可以帮助我们转移域名的权重。但是在做301重定向的时候由于服务器系统、网站程序语言、域名和链接地址的不同,使用的方法也不同。这个时候我们就要使用301重定向检测工具,来检测我们的301重定向是否成功。
HttpWatch
HttpWatch是强大的网页数据分析工具,集成在InternetExplorer工具栏。包括网页摘要、Cookies管理、缓存管理、消息头发送/接受、字符查询、报告输出、POST数据和目录管理功能。
在IE工具栏中查看——浏览器栏——httpwatch打开,也可以使用快捷键shift+F2打开。
状态为:301状态从demo1.php成功301跳转到demo9.php,验证301重定向设置成功。
Chinaz站长工具
chinaz站长工具是业内有名的站长工具。其功能非常丰富,点击http状态码查询,输入网址,可以查询出网站的http状态码,确保是301而不是302.
301重定向优化意义
1、网站改版完成,先将新版上线,在线上保持一段时间新旧内容共存。
2、新旧内容同时存在一段时间,且新版内容已开始收录后,对新旧内容设置301跳转,将旧版内容指向新版对应内容。
3、301重定向有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中。
按照上述操作方式在现有情况下能够尽可能的降低网站因改版带来的流量损失,提高用户体验度,同时有利于网站优化。