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

301重定向可促进搜索引擎优化效果:
  从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

302重定向可影响搜索引擎优化效果:
  迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。

综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。

对于正确实施301重定向,有这样几个方法可供大家参考:
━━━━━━━━━━━━━━━━━━━━━━━━━━
1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

2、ASP下的301转向代码

<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, "http://www.vcoo.me
%>

3、ASP.Net下的301转向代码

<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,"http://www.vcoo.me");
}
</script>

4、PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://www.vcoo.me”);
exit();

5、CGI Perl下的301转向代码

$q = new CGI;
print $q->redirect(”http://www.vcoo.me”);

6、JSP下的301转向代码

<%
response.setStatus(301);
response.setHeader( “Location”, "http://www.vcoo.me” );
response.setHeader( “Connection”, “close” );
%>

7、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^vcoo.me [NC]
RewriteRule ^(.*)$ http://www.vcoo.me/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.vcoo.me/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

4)301重定向单个页面

RewriteRule ^/oldpage.htm$ http://www.vcoo.me/newpage.html [R=301,L]

5)Apache实现多个域名301重定向

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^bbs.vcoo.me [NC,OR]
RewriteCond %{HTTP_HOST} ^my.vcoo.me [NC,OR]
RewriteCond %{HTTP_HOST} ^blog.vcoo.me [NC]
RewriteRule ^(.*)$ http://www.vcoo.me/$1 [L,R=301]

8、Apache下vhosts.conf中配置301转向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<VirtualHost *:80>
ServerName www.vcoo.me
DocumentRoot /home/vcoo
</VirtualHost>

<VirtualHost *:80>
ServerName vcoo.me
RedirectMatch permanent ^/(.*) http://www.vcoo.me/$1
</VirtualHost>

Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档。

301转向情况检测:
http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/

━━━━━━━━━━━━━━━━━━━━━━━━━━
301转向相关文档及域名规范化原则

什么是301转向?

301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

为什么要做网址转向?

除了前面介绍过的网址规范化问题外,还有很多需要做网址转向的情形。比如,为保护版权,你拥有不同TLD的多个域名:

company.com
company.net
company.org
company.com.cn
company.cn
等等。

很自然这些域名全部指向一个网站。如用company.com为主域名,其它域名就可以转向到company.com。

或者你注册了公司全称域名longcompanyname.com,但太长,你也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个就可以转向到主域名。

为什么要用301转向?

网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。

当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。好处是,第一,没有网址规范化问题,第二,也很重要的,网页A的PR

目前有1 条留言

  1. 2009年09月07日 08:31 飞洋   |  引用  |  #1     

    好文,学习了……

    <%@ Language=VBScript %>
    <%
    Response.Status=”301 Moved Permanently”
    Response.AddHeader “Location”, “http://www.flyingse.com/”
    %>

    一个问题是,像这样的转向代码写在那里,首页里吗?

    ifu25 于 2009-9-7 9:21:38 回复

    写在首页,当访问这个域名的时候会301转到代码里写的域名。

发表评论

/ 快捷键:Ctrl+Enter
加载中……