如何隐藏dedecms网站首页网址显示的indexhtml_htmlcss_WEB-ITnose

如何隐藏dedecms网站首页网址显示的indexhtml_htmlcss_WEB-ITnose,第1张

修改/dede/templets/makehtml_homepagehtm文件

找到77行(织梦默认情况下),把php判断语句删除掉,直接写成html静态的

原文件

现文件

检查你的文件编码。还有你的标签的书写。php标签 需要后台开启才可以使用的。

页面的编码、文件的存储的编码、dedecms程序的编码要统一。

编码不能解析的原因,大部分是标签书写错误的原因。建议到dede默认的模板里直接复制。

有的Dede默认生成首页后,首页的链接后面会多出一个indexhtml,官方说法这样有利于网站优化。出于不让首页权重分散考虑,同时也是美观考虑,dede首页的indexhtml还是得去掉好。

下面就给大家分享一下如何去掉织梦首页的indexhtml

方法一:

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

方法如下:

在根目录的htaccess里加入以下代码:

DirectoryIndex indexhtml indexphp indexhtm

方法二:

在主机里面设置默认首页顺序:把indexhtml提到最前面。

因主机不同,设置方法也不同,大多数空间都是在空间商会员后台可以改动。例如:万网。

方法三:也是最简单行之有效的办法。

找到根目录下的indexphp文件,找到如下内容

//自动生成HTML版

if(isset($_GET['upcache']) || !file_exists('indexhtml'))

{

require_once (dirname(__FILE__) "/include/commonincphp");

require_once DEDEINC"/arcpartviewclassphp";

$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__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

} else {

$pv->Display();

exit();

}

}

else

{

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

header('Location:indexhtml');

}

>

把上面一大段替换成下面的这段代码

if(!file_exists(dirname(__FILE__)'/data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

require_once (dirname(__FILE__) "/include/commonincphp");

require_once DEDEINC"/arcpartviewclassphp";

$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、DEDE后台“更新所有”、“更新栏目”、“更新文档”没反应或无法生成,如下图。

2、打开前端模板文件templets/。

3、查找templets/中的文件里面其中含{dede:fieldname='typeid'function="GetTopTypename(@me)" /} 或含有“GetTopTypename(@me)”的字段将整句删除,并保存。

4、恢复正常生成更新。

利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。

这里我用smarty做例子,说明如何生成静态页:

<php

require("smarty/Smartyclassphp");

$t = new Smarty;

$t->assign("title","Hello World!");

$content = $t->fetch("templates/indexhtm");

//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了

$fp = fopen("archives/2005/05/19/0001html", "w");

fwrite($fp, $content);

fclose($fp);

>

版本:DEDE所有版本,DEDE_v5,V53,V55

原因:要创建的目录或者文件没有写入权限

解决办法:

第一步,定位出错的文件,即查找生成什么文件时出的问题。

方法:修改 include/dedetagclassphp文件,搜索"DedeTag Engine Create File False",会找到以下代码

$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False");

修改成

$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False:$filename");

重新生成栏目或者文档时,即可提示当前文件信息。

第二步,找到提示错误的目录或者文件,检查是否有写入权限,windows服务器请给予写入权限,linux服务器请给予777权限。如果目录或者文件不存在,请手工建立。

常见的错误情况有,data目录没有写入权限,html静态文件目录没有写入权限,indexhtml首页静态文件没有写入权限。

警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何隐藏dedecms网站首页网址显示的indexhtml_htmlcss_WEB-ITnose

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情