虚拟主机如何做301重定向
-
首先我们先要了解下什么是301重定向
301重定向又被称为301转向,或301跳转。指的是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。什么时候才做301跳转
为什么会有这么一个问题?这个问题来源于阿D的工作,站长使用我们家的香港独立ip空间建站,等百度收录了后发现,收录了两个域名。
问是怎么回事?我不是做301跳转了的吗?出现这样的情况,阿D个人判断应该是301跳转是后期做的,一些建站的时候,有的站长习惯在空间上进行调试和建站,在这个调试过程中可能忽略了301。
一旦您的域名解析到空间生效后,而搜索引擎蜘蛛对“新东西”都时刻保持者好奇心,而独立ip空间也对搜索引擎优化有帮助,那么如果在没有做301的情况下,被蜘蛛爬取到了,也就出现开头说的那种情况。那么什么时候做301跳转类?聪明的您,应该已经知道了吧。
最合适的时间是:您的域名一旦解析到您的空间(或服务器),就必须做好301跳转。或者在网站调试期间全程屏蔽搜索引擎蜘蛛。
再具体一些:
当我们域名解析的时都会碰到一个域名做两次解析的情况,比如ibolg.net和www.ibolg.net这两个都要做域名解析,如果其中一个没有做解析,那么这个网址就无法访问,现在有很多人都忽略了这个问题,特别是企业网站基本上都忽略了。很多人只关心www.ibolg.net这个可以打开网站就行,但没有关键词ibolg.net这个域名是否可以打开,但是只要我们都做了解析,两个域名都可以打开网站,不过这样的话,网站权重就会分配到两个域名上,为了SEO优化,我们得将网站权重集中在一个域名上,通常SEOer都会将ibolg.net域名301重定向到www.ibolg.net上,这样的话,只要通过ibolg.net域名访问的都会自动跳转到www.ibolg.net上。
Win虚拟主机只要支持伪静态的,都可以使用以下这个代码,现在国内几乎所有的虚拟主机都支持伪静态了。新建一个文本,把一下的代码复制进去,然后保存名字为“httpd.ini”,上传到网站的根目录即可。[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^ibolg.net$
RewriteRule (.*) http://www.ibolg.net$1 [I,RP]
Linux虚拟主机设置更简单,如果网站服务器是Apache,在.htaccess文件开始处加入一下规则(如果没权限修改,请联系服务提供商协助修改):RewriteCond %{http_host} ^ibolg.net [NC]
RewriteRule ^(.*)$ http://www.ibolg.net/$1 [R=301,L]
最后,做301重定向的方法可以有很多种。如果你的空间是虚拟空间,最简单的方法就是使用伪静态的办法实现301重定向。如果是服务器的话,更简单,只要在服务器上对IIS进行操作即可。
如何以上两个方法都不行的话,可以试试使用代码方式来实现:ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.ibolg.net”
Response.End
PHP:header(“HTTP/1.1 301 Moved Permanently”);
header(“Location:http://www.ibolg.net”);
exit();
说明:把代码加到相关页面就可以了。 一般放在头部文件里。
其他跳转介绍:302代表 暂时性转移,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。能够对302重定向具备优异处理能力的只有 Google,在前些年,不少搞SEO曾广泛应用这项技术作弊,但也很容易遭受惩罚。
用HTML跳转:<META HTTP-EQUIV=REFRESH CONTENT="5;URL=http://www.ibolg.net">, 表示5秒后自动跳转到首页,你也可以把时间设置的更短,但也很容易被搜寻引擎容易误判为spam而遭到惩罚。
用javascript跳 转:<script language="javascript">location.href='http://www.ibolg.net
'</scrip t> PHP跳转代码
使用header()函数
在php页面的最开头输入如下代码:
<?php
header(“location:http://www.ibolg.net”);
?>
那么,我们命名为1.php,当访问1.php的时候,就会自动跳转到www.ibolg.net页面,这里需要强调的是,使用该种方法,必须要将这行代码写在最前面,如果不想写在前面,我会在后面提供另一种方法。
使用meta来实现跳转
在php页面或者是html页面的头部输入如下代码:
<meta http-equiv=”refresh” content=”5;url=http://www.baidu.com”>;
那么,我们将页面命名为2.php或3.htm,当访问2.php或3.htm的时候,就会自动跳转到www.baidu.com这个页面,注意,content中的数字5的意思是经过多久开始跳转,这里设置的是5就是说要经过5秒钟该页面才会跳转到目标页面,建议大家在设置跳转时间的时候不要超过10秒。
使用javascript来实现跳转
在php页面中输入如下代码:
<?php
echo “<script language=”javascript”>”;
echo “document.location=”http://www.baidu.com”";
echo “</script>”;
?>
那么,我们将页面命名为4.php,当访问4.php的时候,就会自动跳转到www.baidu.com这个页面。在这里需要注意的是,javascript脚本本身的书写方式并不是这样,由于在php中使用,所以进行了一定的修改,也可以直接建立个.js文件,输入如下代码,然后再后面引用该文件即可:
<script language=”javascript”>
document.location=”http://www.baidu.com”;
</script>
我们先将其命名为5.js,以方便我在后面总结的时候使用。
ASP跳转代码
如果你要在服务器端跳转,可以这样建立一个asp文件:
< %
Response.Redirect("http://ibolg.net/qq/")
Response.End
%>
如果你要在客户端跳转,可以这样:
<script language="javascript" type="text/javascript">
window.location="http://ibolg.net/qq/";
< /script>
如果你要让页面显示几秒钟之后跳转,可以在html代码的<head></head>或者<body></body>部分加上这样的代码:
<meta http-equiv="refresh" content="3; url=http://ibolg.net/qq/">
欢迎您的访问,3秒钟后自动跳转到http://ibolg.net/qq/第四种vbscript的跳转代码
<script language="VBScript">
location.href="http://ibolg.net/qq/"
</script>
推荐阅读
- 上一篇: 香港特别行政区行政长官2017普选
- 下一篇: TD-LTE载波聚合实现高速下载速率
版权声明:
本站所有主题由该文章作者发表,该文章作者与長大樂忧伤享有文章相关版权。
本帖可能有部分转自其它媒体,并不代表本站赞同其观点和对其真实性负责,如有侵犯,请告知,将及时予与删除并致歉。
本文链接: http://www.ibolg.net/zhanzhangjiqiao/301tiaozhuan.html,尊重共享,欢迎转载!
分享本文:
呃 本文暂时没人评论 来添加一个吧
发表评论