php v9 分页静态,phpcms v9 为分类和内容添加伪静态

大家在使用phpcms v9的时候可能想用伪静态来美化url,但是可能程序自身的可能无法满足,在这里我列出了2种方法,还有更高级的以后有机会再告诉大家

1.不改变程序下的方法

优点就是部署快速,缺点就是默认的伪静态规则不能使用栏目的英文名称或者拼音名称做为地址,如果大家想要更个性的伪静态规则可以使用第二种

为分类添加规则

URL示例:

list-3-1.html

规则:

list-{$catid}-{$page}.html

为内容页添加规则

URL示例:

show-3-1-1.html

规则:

list-{$catid}-{$id}-{$page}.html

.htaccess 规则如下RewriteEngine onRewriteRule ^list-([0-9]+)-([0-9]+)\.html index.php?m=content&c=index&a=lists&catid=$1&page=$2 [L,QSA]RewriteRule ^show-([0-9]+)-([0-9]+)-([0-9]+)\.html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 [L,QSA]

2.需要改变源码的方法

优点就是相对于第一种要更个性一点,缺点就是需要自己动手改源码

为分类添加规则

URL示例:

list-栏目英文名称-3-1.html

或者 list-栏目拼音-3-1.html

规则:

list-{$catdir}-{$catid}-{$page}.html

或者 list-{$letter}-{$catid}-{$page}.html

为内容页添加规则

URL示例:

show-栏目英文名称-3-1-1.html 如果没有分页可以不需要page参数

规则:

list-{$catdir}-{$catid}-{$id}-{$page}.html

.htaccess 规则如下RewriteEngine onRewriteRule ^list-(.*)-([0-9]+)-([0-9]+)\.html index.php?m=content&c=index&a=lists&catid=$2&page=$3 [L,QSA]RewriteRule ^show-(.*)-([0-9]+)-([0-9]+)-([0-9]+)\.html index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4 [L,QSA]#如果没有page可以去掉最后一个 $*

需要修改的php文件

phpcms/modules/content/classes/url.class.php

我们先为栏目的规则修改//找到url类的category_url方法(public function category_url) 大致在 108行//修改以下代码//替换前if (!$setting['ishtml']) { //如果不生成静态$url = str_replace(array('{$catid}', '{$page}'), array($catid, $page), $urlrule);if (strpos($url, '\\')!==false) {$url = APP_PATH.str_replace('\\', '/', $url);

}

}  else { //生成静态//这里面的代码我们不动}//替换后if (!$setting['ishtml']) { //如果不生成静态$catdir = $category["catdir"];$letter = $category["letter"];$url = str_replace(array('{$catid}', '{$page}', '{$catdir}', '{$letter}'), array($catid, $page, $catdir, $letter), $urlrule);if (strpos($url, '\\')!==false) {$url = APP_PATH.str_replace('\\', '/', $url);

}

}  else { //生成静态//这里面的代码我们不动}//栏目的url规则修改完成,大家可以重新生成地址看看是不是已经发生改变了

接下来我们为内容页改url规则,还是这个类文件//找到url类的show方法(public function show) 大致在 24行//修改以下代码//替换前 大致63行开始$categorydir = $this->get_categorydir($catid);$catdir = $category['catdir'];$year = date('Y',$time);$month = date('m',$time);$day = date('d',$time);$urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);$create_to_html_root = $category['create_to_html_root'];//替换后$categorydir = $this->get_categorydir($catid);$catdir = $category['catdir'];$letter = $category['letter'];$year = date('Y',$time);$month = date('m',$time);$day = date('d',$time);$urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}','{$letter}'),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page,$letter),$urlrule);//内容页的url规则到此我们也修改完成,大家可以重新生成地址看看是不是已经发生改变了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值