DEDECMS去掉自动生成首页或栏目后面带的index.html
Dede默认生成首页后,首页的链接后面会多出一个index.html。据官方说法这样有利于网站优化。但是这个index.html怎么看都不舒服,而且也不利于seo中主页url的统一。因为我的网站的url用.htaccess转向统一都是www,而带.com结尾的。所以出于不让首页权重分散考虑,同时也是美观考虑,dede首页的index.html还是得去掉好。
dede首页去掉index.html的方法如下:
一、按官方给的更新说明 替换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就不行了。
二、直接删除CMS根目下的index.php文件,
这个办法看似最简单,但是我自己试过后却不成功。而且删除后也没办法使用动态浏览了。
三、使用.htaccess文件
目前使用的是这个办法,试验成功。
方法如下:
在根目录的.htaccess里加入以下代码:
DirectoryIndex index.html index.php index.htm
就这么简单。
四、在主机里面设置默认首页顺序:把index.html提到最前面。
因主机不同,设置方法也不同。就不具体细说了。
DEDE程序大家都知道,相信很多朋友都采用DEDE来做站,但是很多朋友在做好以后,首页后面会自动加上index.html这个后缀。废话不多说,直接说方法。 DEDE首页后面带index.html解决方法: 修改默认首页为index.html即可解决,其他不需要更改DEDE任何文件。 DEDE....
DEDE程序大家都知道,相信很多朋友都采用DEDE来做站,但是很多朋友在做好以后,首页后面会自动加上index.html这个后缀。废话不多说,直接说方法。
DEDE首页后面带index.html解决方法:
修改方法:
新版的 dede ,默认的首页生成后,链接后面会多出一个index.html。官方那边的说法是有利于网站 优化。但并非每个人都喜欢首页链接多出一个index.html。想去掉,其实并不难。这里让Isolated 来教你们如何去掉dede首页链接上的i....
新版的dede,默认的首页生成后,链接后面会多出一个index.html。官方那边的说法是有利于网站优化。
但并非每个人都喜欢首页链接多出一个index.html。想去掉,其实并不难。这里让Isolated 来教你们如何去掉dede首页链接上的index.html。
改动根目录下的index.php文件。
原代码
<?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();
?>
搞定,收工。
DEDE栏目后面带index.html解决办法:
在DEDE后台找到“系统”—“系统基本参数”—“核心设置”,选择“栏目网址使用目录名(不显示默认页,即是 /a/abc/ 形式)”为“是”。