今天再帮你客户安全设置dedecms的时候,点击生成rss与网站地图等出现这个问题,有时候生成静态页面的时候也会出现,一般是权限或目录不存在等问题导致,这里简单说明下
1、一般dedecms的安全隐患挺多(说明使用的人与研究的人也很多),一般根据官方网站的提示需要将data转移到上一级目录中,web无法访问的地方。
设置方法可以参考这篇文章 http://www.jb51.net/cms/67794.html,不过设置好会出现织梦dedecms站点data目录位置变动调整验证码不显示( http://www.jb51.net/cms/41934.html)也可能出现无法生成rss与网站地图等问题,可以参考这篇文章(http://www.jb51.net/cms/84438.html)
2、取消静态目录等不需要执行php文件的目录,的脚本执行权限。
DedeTag Engine Create File False提示的种种原因
第一种情况:站点、文件夹权限不足造成无法建立文件
这种情况的出现,一方面可能是Apache设置的读写权限较严格,另一方面原因可能是使用者通过服务器或FTP对一些文件夹设置了错误的读写权限造成。这时候,只需修改网站根目录或相关栏目的目录上修改权限为755即可解决。
解决办法:
第一步、定位出错的文件,即查找生成什么文件时出的问题。
方法:修改 include/dedetag.class.php文件,搜索”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静态文件目录没有写入权限,index.html首页静态文件没有写入权限。
此时在进行生成栏目或者页面HTML操作,即可顺利进行。
第二种情况:列表、频道、文章等命名规则未填写或填写错误
此种情况较为少见,因为初级用户一般不会去修改这些东西,情况可以大致分为:
■命名规则未填写(即为空)
解决方法:只需填好相应的规则即可,重新选择栏目类型,也可以快速自动填写。
■命名规则中含有非法字符
解决方法:将非法字符替换或删除。
■命名规则设置错误
例如:命名列表页为{typedir}/{tid}.html,这种命名方式对列表只有一页的栏目是正常的,如果列表是两页或两页以上时,由于进程冲突,生成栏目就会出现 DedeTag Engine Create File False 的提示。
解决方法:此时只需要增加{page}变量到名称中即可解决问题。
■生成文件的层次不对
例如设置列表文件要在列表{typedir}目录下,不能向下再有目录比如:{typedir}/list{tid}{page}.html是对的,可以生成但是如果设置为 {typedir}/list/{tid}{page}.html这样将会出错
第三种情况:发布文章后将栏目改为了“外部链接”类型
在某个栏目里发了几篇文章,后来把这个栏目改成外连接了,更新文档时,系统还会更新这个栏目下的那几篇文章,但地址是外连接,所以无法生成文件,由此产生DedeTag Engine Create File False提示
解决方法:把栏目改回的目录,把文章删除,再改回外部链接类型。