使用帝国CMS按默认设置建立目录后,突然意识到“目录/年月日/ID编号.html的生成方式不如“目录/ID编号/Index.html生成方式。此时如果默认首页是index.html,那输入目录/ID编号/即可直接访问,此方式对搜索引擎更友好。
于是立即行动,修改后却发现新更新的内容将采用此种方式,却发现修改生成方式之前的文件还是固执地按照以前方式生成。
仔细研究了下帝国数据库表结构,发现newspath字段记录的是文件路径,filename字段记录的是文件名前缀。比如2010年5月3日新加的一条id为100的新闻,如果采用目录/年月日/ID编号.html的方式时newspath为2010-05-03 filename为100。如果采用目录/ID编号/Index.html时newspath为空 filename为100/Index(ID编号/文件名前缀)。
解决办法(建议一条条执行):
update 表名 set filename=CONCAT(id,'/index') where id>0;
update 表名 set newspath='';
实例使用(新闻、文章):
update phome_ecms_news set filename=CONCAT(id,'/index') where id>0;
update phome_ecms_news set newspath='';
update phome_ecms_article set filename=CONCAT(id,'/index') where id>0;
update phome_ecms_article set newspath='';