原因分析:
根据dedecms官方文档说明,出现这种问题是可能是由于catalog_do.php里的header()的问题,因为当执行header()前,如果前面输出了空格、空行、任何字符,都会导致header()跳转失效。这就需要你非常有耐心的去排查一个个<?php ?>是否有空格或空行。把这些空格空行删除,至此功能就全部正常了。
解决的方法:
1、下载…/dede/catalog_do.php把文件下载到本地,用文本编辑器打开,做如下替换:
A、把:header("location:article_add.php");替换为:
echo "<script language=’javascript’>window.location.href='article_add.php'</script>";
B、把:header("location:{$gurl}?channelid={$channelid}&cid= {$cid}"); 替换为:
echo "<script language=’javascript'>window.location.href='{$gurl}?channelid={$channelid}&cid={$cid}'</script>";
2、下载…/dede/archives_do.php下载到本地,用editplus文本编辑器打开,做如下修改:
把:header("location:{$gurl}?aid=$aid"); 修改为:
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL={$gurl}?aid=$aid\">";
修改完毕后,上传覆盖,登录dedecms后台,更新系统缓存,问题就可以解决了。修改前,记得先备份后操作哦。