dedecms 怎么生成静态页面
1、在生成,更新主页里面,有个动态浏览
2、在核心,网站栏目管理,点开文章后修改,高级参数里面有生成html
3、建议楼主这样设置(伪静态),因为百度更喜欢抓取静态的网址,如果生成动态的不方便蜘蛛收录。要想伪静态就必须在步骤2生成html
很简单,用ob_start压制,然后保存到一个html页面就可以了,写了个小演示
访问时在后面加参数 id=xxx xxx为任意数字,你把里面的输出换成你的动态页面就可以了,代码里有解释
<php
ob_start();
/下面的内容就是你原来的动态页面/
$id=isset($_GET["id"])$_GET["id"]:'';
if ($id!=''){
echo "原使用参数的页面 参数为"$id"</br>已生成<a href=\"$idhtml\">$idhtml</a>";
}
/结束/
$info=ob_get_contents();
$file=fopen($id'html','w');
fwrite($file,$info);
fclose($file);
>
利用模板。目前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首页静态文件没有写入权限。
警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。
在后台的--系统---模版 默认风格处更改成你的模版即可,但是首先你要确定在templets下有你的模版文件文件夹。或者你可以生成某一个栏目或者文章查看一下到底是哪个文件模版不存在,针对这个文件进行修改模版也可以。
望采纳!!!
0条评论