为了更好地解决这一问题,我们需要了解其背后的原因。实际上,“body has not allow words!” 的意思是“文章中包含不允许的字符”。这通常是因为在后台的“系统”-“系统基本参数”设置中,互动设置部分配置了过多的敏感字词。这些敏感字词一旦被触发,就会阻止文章的发布,并显示上述提示。
如果发现会员无法正常发表文章,可以按照以下步骤排查并解决问题: 1. **检查敏感字词设置**:进入 Dedecms 后台,找到“系统”-“系统基本参数”-“互动设置”,查看是否设置了过多的敏感字词。如果有不必要的字词,建议删除或调整。 2. **测试修改效果**:清理多余的敏感字词后,重新尝试发表文章,确保问题已解决。
当然,为了让用户更清楚地理解错误原因,我们还可以将默认的英文提示改为中文提示。以下是具体的操作方法: ### 修改文件 打开文件 `inclide/fileter.inc.php`,找到大约第 19 行左右的代码段,并进行如下修改:
if($cfg_notallowstr != '' && eregi($cfg_notallowstr, $svar))
{
preg_match_all("@{$cfg_notallowstr}@", $svar, $me);
$me = array_unique($me[0]);
$notallowkeys = '';
foreach($me as $v){
$notallowkeys .= $v . ', ';
}
// 修改提示信息为中文
$msg = '您发布的内容中包含禁止使用的词汇:' . $notallowkeys;
ShowMsg($msg, '-1');
exit();
}
完成上述修改后,将文件上传到服务器覆盖原文件即可。此时,当用户尝试发表包含敏感词汇的文章时,系统会弹出中文提示:“您发布的内容中包含禁止使用的词汇:XXX”,从而让用户更直观地了解问题所在。
通过以上方法,不仅可以有效解决 Dedecms 文章发表失败的问题,还能提升用户的操作体验。对于网站管理员来说,合理配置敏感字词列表,既能保障内容安全,又不会过度限制用户创作自由。希望这篇文章能帮助大家更好地管理和优化 Dedecms 站点!