什么是301重定向
--------------------------------------------------------------------------
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。
301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。
如果你需要按搜索引擎结果中所显示的样式更改网页网址,建议你使用服务器端301重定向。这是确保用户及搜索引擎定向至正确网页的最佳方法。301状态代码表示某网页已被永久迁移至新位置。
如何正确地实施301重定向
----------------------------------------------------------------------------
为了正确实现301重定向,有以下几个方法:
1.在.htaccess文件中增加301重定向指令(需要具有访问服务器的.htaccess 文件的权限)
采用“mod_rewrite”技术,形如:
RewriteEngine on
RewriteRule ^(.*)$ http://www.8869.org/$1 [R=301,L]
2.适用于使用Unix网络服务器的用户
通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.8869.org/
3.在服务器软件的系统管理员配置区完成301重定向
适用于使用Window网络服务器的用户
4.绑定/本地DNS
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将blog.8869.org指向www.8869.org,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.8869.org。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.8869.org。
这样就可将所有未设置的以8869.org结尾的记录全部重定向到www.8869.org上。
5.用ASP/PHP实现301重定向:
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.8869.org/"
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.8869.org/");
exit();
在什么情况下要进行301重定向
-----------------------------------------------------------------------------
301 重定向功能在以下情况下尤为有用:
* 你已将网站移至新域,希望尽可能顺畅地完成这一转换。
* 你的网站注册了多个域名,也需要通过重定向让访问这些域名的用户自动跳转到主站点。例如,如果可通过多种方式访问您的主页,如 http://8869.org/home、http://home.8869.org 或 http://www.8869.org,那么,选择其中一个作为优选的(标准)目标网址,并通过301重定向将来自其他网址的流量发送到该优选网址,不失为一种很好的方法。您也可以使用网站管理员工具设置优选域。
* 你正在合并两个网站,希望确保指向过期网址的链接重定向至正确网页。
* 你的网页扩展名改变,如因应用需要把.php改成.html或.shtml。在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失。