织梦CMS(DedeCMS)虽然老,但用好了是真省心,可你要是没踩过几个坑,都不好意思说自己建过站,今天我把这些年攒下的血泪经验一次性倒出来,都是钱买来的教训,看完能帮你省下几千块维护费。
坑一:后台登录卡死,白屏转圈
很多人一装完织梦,后台登录就卡在“正在验证”或者干脆白屏,别急着重装,八成是data目录下的session文件权限出了问题,解决办法:把/data/sessions目录权限改成755,所有文件改成644,再清空里面的临时文件,如果还不行,检查PHP版本——织梦老版本在PHP 7.4以上经常抽风,建议用PHP 7.0~7.3,我当年在PHP 8.0上折腾了一个通宵,最后换回7.2秒好,真想抽自己。
坑二:首页变成空白,啥也不显示
这个坑十有八九是模板标签写错或者缓存爆炸,先别慌,去后台“生成-更新首页”看报错信息,如果没报错但依然白屏,直接去/data/cache把所有tpl_cache开头的文件删掉,再重新生成,要是还白,检查include/common.inc.php里是否开了display_errors,改成E_ALL看具体错误,最常见的是模板里用了{dede:sql}但没允许执行SQL,去后台“系统-系统基本参数-其他选项”里把“SQL安全检查”关掉——注意,关了之后千万别用弱密码。
坑三:文章发布后链接带“view.php?aid=xxx”很丑
织梦默认伪静态规则用起来麻烦,但别用那种傻瓜式“生成静态HTML”就完事——因为你每次改文章都要重新生成,后期文章多了卡到怀疑人生。推荐方案:开启伪静态,并配置好规则,Apache用.htaccess,Nginx用rewrite,网上千篇一律的规则其实有很多坑,我踩过的坑是:栏目目录带“/list-1.html”这种,Nginx下老是404,最后找到一个能用的规则,放在/usr/local/nginx/conf/rewrite/dedecms.conf里,核心就一句:

织梦CMS常见问题避坑指南,从入门到养老的实用手册
rewrite ^/list-([0-9]+)\.html$ /plus/list.php?tid=$1 last;
rewrite ^/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 last;
注意别把plus目录的物理路径也rewrite了,不然后台功能全乱。
坑四:前台投稿进垃圾箱,用户骂娘
织梦的会员投稿机制很奇葩,默认把非注册用户投稿当垃圾处理,去后台“系统-用户设置-注册选项”里,把“投稿是否需要审核”改成“否”。强烈建议装上“DedeCMS防垃圾投稿”插件,就是那个可以加验证码、限制时间间隔的,我装的是免费的“水神防灌水”,配合IP过滤,垃圾投稿直接少90%,别省钱买什么收费版,免费的就够用。
坑五:数据库被注入,整站被挂马
这是最痛的一个坑,有一年我偷懒,后台账号密码设成“admin123”,结果一周后整站被挂了一堆博彩链接,百度收录全变负面,后来痛定思痛,做了三件事:
- 改掉默认后台目录,把
/dede改成别人猜不到的名字,比如/manage-2024x,改的时候要同步改data/admin/ver.txt,不然登不进去。 - 关闭会员中心,非必要不开
/member,用URL规则直接404。 - 每天自动备份数据库,用宝塔的计划任务跑
mysqldump,保留最近3份,被黑之后直接恢复,十分钟搞定。
强烈建议把include/common.inc.php里的_RUN_MYSQL改成GLOBAL,并开启DedeMVC安全模式,别嫌麻烦,被黑一次的成本远高于这些操作。
坑六:后台文章编辑器上传图片老失败
织梦自带的编辑器是修改版的FCKeditor,上传图片经常提示“文件类型不正确”或直接没反应,解决方案:去后台“系统-附件设置”里把允许扩展名加全,比如jpg|jpeg|png|gif|webp|bmp,如果还不行,检查/uploads目录权限,改成755,但我更推荐直接换编辑器——装一个“Htmleditor for DedeCMS”插件(免费),把原来那个换掉,支持拖拽上传和图片自动压缩,体验直接提升一个时代,这个插件我用了三年,没出过一次问题。
坑七:栏目页分页乱码,第二页开始404
很多模板分页用{dede:pagelist},但设置了伪静态后第二页链接变成list-1-2.html,在Nginx下需要额外加一条规则:
rewrite ^/list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2 last;
同时注意PHP的$_GET大小写,织梦源码里用的是PageNo,别写成pageno,不然第二页取不到参数直接冒出第一页内容,这个坑我排查了两个小时,最后翻源码才发现。
长期维护建议
- 不要随便升级PHP版本,织梦的核心代码太久,PHP 7.2是甜点,7.4也能跑,8.0以上就等着报错吧,装一个PHP多版本管理,站点单独指定7.2。
- 每月做一次安全扫描,宝塔自带的“恶意文件扫描”就够用,发现陌生php文件直接删除。
- 所有插件从官方应用中心下载,别去论坛找破解版——你以为省了钱,其实赚了木马。
- 后台密码用随机字符串,并且每三个月换一次,密码文件存在
data/目录里,记得把整个data目录设置成禁止外部访问(Nginx加location ~ /data/ { deny all; })。 - 定期更新“系统-系统基本参数-性能选项”里的缓存时间,文章多的站建议开启“模板缓存”并设置1200秒,同时开启“SQL缓存”,能极大降低数据库压力。
最后啰嗦一句:织梦CMS常见问题其实就那几条,你花半天时间把上面这些配置全做一遍,后面三年基本不用请人维护,省下的时间陪陪家人,省下的预算吃顿好的,不好吗?
发表评论