phpcms V9 解决栏目伪静态时URL规则中{$categorydir}{$catdir}无效

修改实现方法:PHPCMS V9 自定义栏目伪静态实现方法

栏目页伪静态(不生成HTML)时,URL规则中{$categorydir}{$catdir}仍显示为{$categorydir}{$catdir}解决方法。

第一步:打开phpcmsmodulescontentclassesurl.class.php;

第二步:将122行


$url = str_replace(array('{$catid}', '{$page}'), array($catid, $page), $urlrule);

替换为

$category_dir=$this->get_categorydir($catid);
$url=str_replace(array('{$catid}','{$page}','{$catdir}','{$categorydir}'),array($catid,$page,$category['catdir'],$category_dir),$urlrule);

第三步:保存
使用须知:
1.更改前请先备份原文件;官方升级如果升级此文件,需要再次修改;
2.{$categorydir}后默认有'/',{$catdir}后默认无 '/'

3.案例:

URL示例:guolei/index.html|guolei/list-2.html
URL规则:{$catdir}/index.html|{$catdir}/list-{$page}.html

伪静态规则:

RewriteRule ^guonei(/|/index.html)$ index.php?m=content&c=index&a=lists&catid=6
RewriteRule ^guonei/list-([0-9]+).html$ index.php?m=content&c=index&a=lists&catid=6&page=$1

4.如有不足之处,请在下方回复说明。