2013年6月9日星期日

为何要把不带WWW的域名转向到带WWW的域名下

什么是301跳转,301永久重定向,网站为什么要做301跳转

之前我发现成都地区一个比较知名的社区门户网站,因为他们以前的域名太长不太好记因此换上了一个比较好记的新域名。让我感到奇怪的是这个新域名在短占的时间百度收录了上网页,GOOGLE PR也到了5,当时不太明白,其实正是他们利用了301跳转把老域名相应权重转移到新域名。

通过上例,首先我们了解一下什么是301跳转?301跳转,也叫301重定向,301转向。指的是当用户点击一个网址时,通过技术手段,跳转到指定的另一个网站。

301跳转,一般用于二个域名指向同一个网站,一般来说,利用跳转,对网站的排名不会有影响(但最好还是一站一域名)。

不过这里要说明一下,并不是通过301跳转就能使权重完全转移的,这个还有很多因素决定。301只能说可以让损失减少到最低。

下面给大家减少一下301的具体设置方式

1、IIS下301设置

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

2、ASP下的301转向代码

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://www.tefee.net/html/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.tefee.net/html/301/“);

}

</script>

4、PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”);

header(”Location: http://www.tefee.net/html/301/”);

exit();

5、CGI Perl下的301转向代码

$q = new CGI;

print $q->redirect(”http://www.tefee.net”);

6、JSP下的301转向代码

<%

response.setStatus(301);

response.setHeader( “Location”, “http://www.tefee.net” );

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.tefee.net/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.tefee.net/html$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.tefee.net

DocumentRoot /home/lesishu

</VirtualHost>

<VirtualHost *:80>

ServerName acctc.com

RedirectMatch permanent ^/(.*) http://www.tefee.net/$1

</VirtualHost>

经常会碰到这样的情况,其他网站链接你的站点时,会用下面的链接:

而这样导致:你站点主域名的pr值分散到其他几个URLs了。

如果你用301重定向把其他三个URL转到
PR也就集中在主域名:www.acctc.com 了。

301重定向具体办法:

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

使访问acctc.com/的时候就会自动转到www.acctc.com 
在.htaccess文件里写上以下代码即可。

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