自定义生成HTML文件名对于SEO优化非常存有好处,不过phpcms V9版本没这个功能,但是可以修正,下面是方法。
1、修正你须要设置的模型,添加一个字段,配置如下图:
2、打开/phpcms/modules/content/create_html.php,找到代码:
$urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime']);
批量替换为:
$urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime'], $r['prefix']);
共三处代码,目的是让生成的html页面自定义文件名。
3、打开/phpcms/modules/content/classes/url.class.php,找出代码:
$day = date('d',$time);
在其下方插入:
$tmp_id = $content_ishtml && $prefix ? $prefix : $id; //增加自定义HTML文件名积极支持
再找到代码
$urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);
修正为:
$urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$tmp_id,$page),$urlrule);
至这里,生成HTML页面的名称就是自定义的了。后期自己配置一下URL规则,仍然使用id的形式。