网站想要做301重定向的方法种类有哪些?

手册/FAQ (399) 2015-12-30 09:58:38

301重定向的作用

301重定向的作用有很多,平时站长在做301重定向的时候,一是为了URL规范化并集中权重不让权重分散、二是为了网站改版,将旧版本的页面的所有指标全部转移到新版本的页面上。而实施301重定向可以做到这些,在作用上也是非常的强大,也建议中小企业的站长有效的利用301重定向给网站带来的作用。

 

在什么情况下必须做301重定向

以下五种情况是必须要做301重定向的,当然如果这五种情况都没有发生的话可以选择不做,下面详细的介绍一下。

 

①:网站的旧内容过期并被删除掉

网站的一些内容过期了,所以要被删掉了,如果还想留着可以通过301重定向实现。

 

②:网站有一些具有链接和流量的无效URL

如果你发现这些无效的URL还有流量权重,可以通过301重定向重新生成页面。

 

③:网站更换了主机托管公司

如果网站更换了主机托管公司,不影响用户查找网站内容的任何URL的情况下,可以不需要做301重定向。

 

④:网站更换程序

网站进行较大的改版,网站程序需要更换,此时会影响很多URL,可以通过301重定向来解决。

 

⑤:网站实施URL规范化

网站默认的URL分:

1、abc.com

2、www.abc.com

3、abc.com/index.html

4、www.abc.com/index.html

为了进行网址规范化和不分散权重,通常只出现一个标准的URL,我们可以通过301重定向来实现。例如:我的网站网址只出现http://www.abc.com/的URL,我可以将其他三个URL通过301重定向到这个URL上,这样以来就不会分散权重了,可能带index.html后缀的URL做301重定向容易出现死循环,为了避免这样的情况也是有解决办法的,下面会详细讲解的。

 

⑥:网站因为各种原因而改变现有内容的URL

可能企业网站因为各种各样的原因而改变了现有内容的URL,这种情况的发生是站长没法预测到的,如果这种情况发生了而改变了URL,建议通过301重定向来解决,尽力避免死链接的出现。

 

总结上述需要注意:并不是所有的情况都是需要做301重定向的;但是,任何URL的更改都是需要做301重定向的。原因很简单,为了避免出现404错误页面而导致不该发生的情况发生。

 

301重定向方法种类:

1、IIS下301设置

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

在IIS中,也可以通过安装ISAPI Rewrite组件来实现如Apache中mod_rewrite的功能,详见ISAPI Rewrite 3下载及常用301规则。

 

2、ASP下的301重定向代码

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “106/”

%>

 

3、ASP.Net下的301重定向代码

<script runat=”server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(”Location”,” 106/“);

}

</script>

 

4、PHP下的301重定向代码

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

header(”Location: 106/”);

exit();

 

5、CGI Perl下的301重定向代码

$q = new CGI;

print $q->redirect(””);

 

6、JSP下的301重定向代码

<%

response.setStatus(301);

response.setHeader( “Location”, “” );

response.setHeader( “Connection”, “close” );

%>

 

7、Apache下301重定向代码

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

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

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^embeta.com [NC]

RewriteRule ^(.*)$ $1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ $1 [L,R=301]

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

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+)\.html1

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

 

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

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

<VirtualHost *:80>

ServerName DocumentRoot /home/embeta

</VirtualHost>

<VirtualHost *:80>

ServerName embeta.com

RedirectMatch permanent ^/(.*) $1

</VirtualHost>

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

THE END