DEDECMS实现301重定向的方法,解决没www的问题

来源:互联网 发布:rpm qa grep java 编辑:程序博客网 时间:2024/06/08 09:39
在使用虚拟主机提供的服务器的时候,我们不能随心所欲地修改虚拟主机的配置和管理网站的域名,这就导致我们的网站有以下两个问题:
1、不带www的域名被百度或者google这些搜索引擎收录,反而带www的域名被收录的很少;
2、空间上提供的免费三级域名也被收录;

综上的原因,我们的网站的权重就被这三个域名分配了,所以,我们想集中三个域名的权重,我们就应该使用301来处理这个问题。疯狂的IT人网站是dedecms和discuz做的二次开发,dedcmd自带的静态化功能很强大,我们可以通过修改index.php来实现301,具体的代码如下:

<?php
/**
 * @version        $Id: index.php 1 9:23 2012-02-14 john $
 * @package        CrazyITer.Site
 * @copyright      Copyright (c) 2011 - 2012, CrazyITer, Inc.
 * @link           http://www.crazyiter.com
 */
  $HOST=$_SERVER['HTTP_HOST'];
  if ($HOST=="crazyiter.com" || $HOST=="crazyiter.dns143.53nic.com"){
    Header("HTTP/1.1 301 Moved Permanently");
    Header("Location:http://www.crazyiter.com");
    exit();
  }


  if(!file_exists('index.html')){
    require_once (dirname(__FILE__) . "/include/common.inc.php");
    require_once DEDEINC."/arc.partview.class.php";
    $GLOBALS['_arclistEnv'] = 'index';
    $row = $dsql->GetOne("Select * From `dede_homepageset`");
    $row['templet'] = MfTemplet($row['templet']);
    $pv = new PartView();
    $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
    $row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
    if ($row['showmod'] == 1)
    {
        $pv->SaveToHtml(dirname(__FILE__).'/index.html');
        include(dirname(__FILE__).'/index.html');
        exit();
    } else {
        $pv->Display();
        exit();
    }
  }else{
    include(dirname(__FILE__).'/index.html');
    exit();
  }
?>
注意上面标红的部分即为301从定向的代码,下面的代码是做过一定优化的。谢谢大家对疯狂的IT人(www.crazyiter.com)网站的支持!

(责任编辑:疯狂的IT人)
http://www.crazyiter.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
原创粉丝点击