phpcms v9的伪静态url去掉catid参数

[摘要]phpcms v9的动态链接是必须带catid的,这就抉择了伪静态参数中也要带catid的参数,凭据这种url布属,假如把内容改变了栏目,那本来的url就会改变,这是相当危险的,本文就讲一下如何让phpcms v9伪静态的url不带catid。

  phpcms v9的动态链接是必须带catid的,这就抉择了伪静态参数中也要带catid的参数(假如没有就无法rewrite重定向到对应的动态链接),凭据这种url布属,假如哪天我们把内容改变了栏目,那本来的url就会改变,这是相当危险的事,因为没有谁能担保到时不会改变栏目,对吧?

  那有没有步伐让phpcms v9伪静态的url不带catid呢?谜底是有的。

  phpcms 在同一个模子下的各个差异栏目里的内容对应catid是可以牢靠用模子的catid替代的。好比,你在海内(对应catid=6)的文章模子里有新闻(对应catid=9)和笑话(对应catid=10)两个栏目,宣布到这几个栏目下的文章的链接对应的catid是差异的。

  直接发到海内模子:

index.php?m=content&c=index&a=show&catid=6&id={$id}&page={$page}

  宣布到栏目新闻的文章:

index.php?m=content&c=index&a=show&catid=9&id={$id}&page={$page}

  宣布到栏目笑话的文章:

index.php?m=content&c=index&a=show&catid=10&id={$id}&page={$page}

  固然是差异,可是我们都可以用模子的catid来取代,

  直接发到海内模子文章:

index.php?m=content&c=index&a=show&catid=6&id={$id}&page={$page}

  宣布到栏目新闻的文章:

index.php?m=content&c=index&a=show&catid=6&id={$id}&page={$page}

  宣布到栏目笑话的文章:

index.php?m=content&c=index&a=show&catid=6&id={$id}&page={$page}

  既然可以这样,那我们就可以用不带catid的伪静态了

1、先到靠山添加不带catid的伪静态,如我添加的例子如下

RL法则名称 : show

模块名称 : 内容模块

是否生成静态? : 否

URL示例 : content-1-1.html

URL法则 : content-{$sid}.html|show-{$sid}-{$page}.html

2、.htaccess把内容重写的法则改为:

RewriteRule ^content-([0-9]+)-?([0-9]*)\.html$ index.php?m=content&c=index&a=show&catid=6&id=$1&page=$2

  留意呀,上面catid=6是你的模子的catid,不是一成稳定的。所以图片模子的伪静态还要改,假设图片模子对应的catid=7,可以这样改:

RL法则名称 : show

模块名称 : 内容模块

是否生成静态? : 否

URL示例 : pic-1-1.html

URL法则 : pic-{$sid}.html|show-{$sid}-{$page}.html

  .htaccess重写法则再添加一条

RewriteRule ^pic-([0-9]+)-?([0-9]*)\.html$ index.php?m=content&c=index&a=show&catid=6&id=$1&page=$2

  其他模子相应就凭据这样的思路加就是了,这个要领可以有效去掉phpcms v9伪静态url带catid的不敷,今后可以随便改变栏目url地点也会保持稳定,可是不能改变模子。

PHPCMS 下载:

PHPCMS v9.6.0 GBK下载

phpcms v9的伪静态url去掉catid参数

界面预览

本文转自:

分享到

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10283.html