就爱编程论坛

标题: 如何去掉DEDE程序index.html的几种方法 [打印本页]

作者: jing_105    时间: 2011-8-25 13:31:50     标题: 如何去掉DEDE程序index.html的几种方法

么样去掉织梦程序主域名后index.html   Dede默认生成首页后,首页的链接后面会多出一个index.html。据官方说法这样有利于网站优化。

但是这个index.html怎么看都不舒服,而且也不利于seo中主页url的统一。因为我的网站的url用.htaccess转向统一都是www,而带.com结尾的。

所以出于不让首页权重分散考虑,同时也是美观考虑,dedcmse首页的index.html还是得去掉好。

网上给出的dedecms首页去掉index.html的方法如下:


解决方法一

<?php

if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))  

{  

    header('Location:install/index.php');  

    exit();  

}  

//自动生成HTML版  

if(isset($_GET['upcache']))  

{  

    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']);  

    $pv->SaveToHtml(dirname(__FILE__).'/index.html');  

    include(dirname(__FILE__).'/index.html');  

    exit();  

}  

else  

{  

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

    header('Location:index.html');  

}  

?>

替换为

<?php  

if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))  

{  

     header('Location:install/index.php');  

     exit();  

}  

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']);  

$pv->Display();  

?>

方法二:

1.按官方给的更新说明 替换index.php的内容 生成动态,如果首页不需要生成HTML的, 把index.php换成下面代码。

<?php

if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))

{

header('Location:install/index.php');

exit();

}

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']);

$pv->Display();

?>

当然如果要生成html就不行了。



2.直接删除CMS根目下的index.php文件,
这个办法看似最简单,但是我自己试过后却不成功。而且删除后也没办法使用动态浏览了。


3.使用.htaccess文件
目前使用的是这个办法,试验成功。


方法如下:

在根目录的.htaccess里加入以下代码:
DirectoryIndex index.html index.php index.htm
就这么简单。


4.在主机里面设置默认首页顺序:把index.html提到最前面。
因主机不同,设置方法也不同。就不具体细说了。



本帖员编辑 爱编程 如有转载请保留:http://bbs.92program.com





欢迎光临 就爱编程论坛 (http://bbs.waibc.com/) Powered by Discuz! X2