301重定向是什么?

页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

在我们网站建设中,时常会遇到需要网页重定向的情况:像网站调整,改变了网站的目录结构,网页被移到一个新地址。或者网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这些情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失。又比如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

301重定向适用于那些场景?

1:网站更换域名时,通过301永久重定向将旧域名重定向至新域名,挽回流量损失和SEO。

2:当出于需要删除网站中的某些目录时,比如我要删除我博客下的博客导航,这时就可以用301永久重定向到首页。

3:如果你有多个闲置域名时需要指向同一网站时,通过301永久重定向可以实现。

4:你打算实现URL标准化。

有这样几个实现301重定向的方法可供大家参考:

1)设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)

使访问seoyj.com/的时候就会自动转到www.seoyj.com

在.htaccess文件里写上以下代码即可。

RewriteEngine on
RewriteCond %{http_host} ^seoyj.com [NC]
RewriteRule ^(.*)$ http://www.seoyj.com/$1 [L,R=301]

注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。


301重定向是什么?

2)适用于使用Unix系统的用户

通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

形如:Redirect 301 / http://www.seoyj.com

301重定向是什么?

3)适用于使用Windows系统的用户

在域名管理后台设置url转发,前面写上seocs.net 不带www的,后面框里写上www.seocs.net这种带www的域名,设置成显式转发。显式转发相当于301,隐式转发相当于302,比较危险
不过值得一提的是,因为URL转发和301概念不同,所以并不是所有的显式转发都是301的(听说万网提供的url转发是302的),可以使用http://tool.alimama.com/tools.php 提供的网站Header信息查询工具查询baidu.com,如果返回代码有“HTTP/1.1 301 Moved Permanently”。恭喜,那就是301的。我的是新网,新网(xinnet)提供url显式转发是301的,我就使用了此方法。

如果你是万网,又是windows主机,那就用DNS别名解析吧。

301重定向是什么?

4)用ASP/PHP实现301重定向:
ASP:

Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.baidu.com/"
Response.End

PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.baidu.com/");
exit();