1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php v9 分页静态 phpcms v9 为分类和内容添加伪静态

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

时间:2024-07-13 13:03:16

相关推荐

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 规则如下RewriteEngineonRewriteRule^list-([0-9]+)-([0-9]+)\.htmlindex.php?m=content&c=index&a=lists&catid=$1&page=$2[L,QSA]RewriteRule^show-([0-9]+)-([0-9]+)-([0-9]+)\.htmlindex.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 规则如下RewriteEngineonRewriteRule^list-(.*)-([0-9]+)-([0-9]+)\.htmlindex.php?m=content&c=index&a=lists&catid=$2&page=$3[L,QSA]RewriteRule^show-(.*)-([0-9]+)-([0-9]+)-([0-9]+)\.htmlindex.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方法(publicfunctioncategory_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方法(publicfunctionshow)大致在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规则到此我们也修改完成,大家可以重新生成地址看看是不是已经发生改变了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。