301转向

来源:互联网 发布:淘宝网网店 编辑:程序博客网 时间:2024/06/11 01:04

什么是301转向?
301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

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

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html

而不是你希望的

http://www.domainname.com

这样链接的PR也会传递到所有URL,如果你用301转向把前三个URL转到
http://www.domainname.com
PR也就集中在网页http://www.domainname.com了。

怎样做301转向?
1、IIS下301设置

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

2、ASP下的301转向代码

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.lesishu.cn/articles/301/"
%>

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.lesishu.cn/articles/301/");
}
</script>

4、PHP下的301转向代码

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.lesishu.cn/articles/301/");
exit();

5、CGI Perl下的301转向代码

$q = new CGI;
print $q->redirect("http://www.new-url.com/");

6、JSP下的301转向代码

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.lesishu.cn/" );
response.setHeader( "Connection", "close" );
%>

7、Apache下301转向代码

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

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

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

2)重定向到新域名

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

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

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

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

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

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

<VirtualHost *:80>
ServerName www.lesishu.cn
DocumentRoot /home/lesishu
</VirtualHost>

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

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

301转向情况检测

http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/
 转自:http://www.365css.cn/SEO/610/