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文档。