码迷,mamicode.com
首页 > 其他好文 > 详细

教你制作一个完美的301重定向

时间:2015-06-16 18:28:21      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

什么是301重定向?

  通常我们在网站建设中都会遇到像:网站改版,动态转静态,网站搬家后结构调整了等等,在这些情况下,如果不做301重定向,那用户访问原始地址时将直接提示404错误页面信息,非常不利于用户体验.而且会被搜索引擎降权,那么在这些情况下我们就需要做301重定向了,301重定向它主要是网页更改地址后对搜索引擎最友好的方法,在SEO的角度上来说,301永久重定向可以递增权重,使原页面的权重集中到一个地址.非常有利于页面权重提升.301重定向是搜索引擎中唯一一个可以传递权重,并且不会被K的一种方式,所以做好301重定向对网站SEO优化来说是非常重要的

  301重定向效果示例:在地址栏里输入: leeseo.org 可以看到自动跳转到 www.leeseo.org 这样的效果就是301重定向

技术分享

为什么要用301重定向?

1、规范网址,集中权重:

在搜索引擎看来leeseo.org 和www.leeseo.org是两个不同的网站,一般来说我们都会将不带www的域名重定向到带www的域名,这样可以就可以把leeseo.org的权重集中给www.leeseo.org

2、网站改版:

网站域名更换、网站目录名以及网站页面后缀名的更换。

怎样才能做301重定向?

301重定向虽然好,但是它有一定的局限性,除了上面所说的几种情况要做301重定向外,另外需要考虑的就是我们网站存放的主机空间是否支持301重定向.

通常我们购买的主机空间最常用的就是WINDOWS和LINUX两种系统的,下面将说一下这两种情况下需要达到什么条件才能做301重定向,还有怎么做301重定向.

1、linux主机一般使用的是Apache的服务器,这种主机需要支持.htaccess才能做301重定向.

如果支持.htaccess,那么该如何做301重定向呢?

  首先将带WWW和不带WWW的2个域名都解析到我们主机的IP地址,然后在.htaccess文件开始处加入以下规则即可:

  RewriteCond %{http_host} ^ leeseo.org [NC]

  RewriteRule ^(.*)$ http:// www.leeseo.org/$1 [R=301,L]

2、window的主机通常使用IIS的服务器是需要安装 ISAPI_Rewrite这个组件(也就是通常用我们所说的最多的 伪静态环境),如果支持该如何做301重定向? 不支持我们又如何应对呢?

  如果支持ISAPI_Rewrite组件,那么首先将带WWW和不带WWW的2个域名都解析到我们主机的IP地址,然后在httpd.ini(通常所说的伪静态规则文件)文件开始处加入以下规则即可:

  RewriteCond Host: ^ leeseo \.orgt$

  RewriteRule (.*) http\://www\. leeseo\.org$1 [R,I]

3、如果不支持ISAPI_Rewrite组件,那只能通过IIS来操作了(适合自有服务器,或让虚拟主机提供商帮助解决),步骤如下:

    首先在IIS下新建一个网站,网站目录(可用原网站文件夹也可新建一个文件夹,随意)下只需要有2个文件:default.htm和404.htm,新建的网站主机头绑定需要做301重定向的网址,如上示例为: leeseo.org需要做301到www.leeseo.org则在新建网站的主机头上绑定leeseo.org,新建完成后在新建的网站上点击右键,依次选择属性,在属性面板选择主目录,如下图所示,选择重定向到URL,然后输入网址即可,千万别忘了把”资源的永久重定向” 选项勾上哦!

       提醒:笔者在做301重定向时发现网上所列的文章均没有新建网站这事,使得很多新手朋友少操作了新建网站这一步骤,导致做了301重定向后网站无法打开的情况. 请大家注意!

怎样做301重定向?

1、windows主机将一下代码保存为httpd.ini放在网站根目录下即可。

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteEngine On
RewriteCond Host: ^mxseo\.com$
RewriteRule (.*) http\://www\.mxseo\.com$1 [I,RP]

注意:iis6.0是用httpd.ini文件,iis7.0以上则是用web.config文件。

2、利用代码设置301重定向的方法(PHP)

<?php
$the_host = $_SERVER[‘HTTP_HOST’];//取得当前域名
$the_url = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : ”;//判断地址后面部分
$the_url = strtolower($the_url);//将英文字母转成小写
if($the_url==”/index.php”)//判断是不是首页
{
$the_url=””;//如果是首页,赋值为空
}
if($the_host !== ‘mxseo.com’)//如果域名不是带www的网址那么进行下面的301跳转
{
header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部
header(‘Location:http://www.mxseo.com’.$the_url);//跳转到带www的网址
}
?>

在网页中调用<?php include(“文件名.php”); //301重定向 ?

3、利用服务器做301重定向:

服务器的由于比较简单,梦星就不在这里做详细说明了,如果不清楚的或者想了解的SEOer,可以加梦星qq或者q群直接问梦星即可。

301重定向说明:

1、301并不是百分百专递权重,即使配合百度站长平台也不是百分百。

2、301在传递权重过程中,需要有内容相似度和时间的考核。

3、如果老域名被惩罚,301到新域名也可能受到惩罚。

4、可以使用站群301技术来获取排名。

如果站长使用的是不支持301重定向的主机,笔者也为大家推荐两种方法,也可以达到对搜索引擎友好的目的

1、如果是全新的域名和网站,没带www的域名暂时还没有被搜索引擎收录,那么可以用网址转发的方式,把不带www的域名转发到带www的域名上,在域名管理后台就可设置转发,值得注意的是目前国内的部分域名注册商已经对网址转发做了一定的限制了.

2、如果网站已经上线很久了,没带www的域名也收录很多,那么就把网站的导航,分类,栏目等等一些比较重要的位置尽可能的使用带www的绝对地址

绝对地址(也就是绝对路径):像这样 http://www.leeseo.org/Seo-jichu/220.html

相对地址(也就是相对路径):像这样 /Seo-jichu/220.html

Rentiyishu  www.leeseo.org

教你制作一个完美的301重定向

标签:

原文地址:http://www.cnblogs.com/sanwenyu/p/4581123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!