[摘要]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下载
界面预览本文转自:
分享到