PHPCMS V9自定义栏目的伪静态规则
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-18 23:17:18 浏览: 评论:0
PHPCMS V9自定义栏目伪静态规则教程(支持自定义目录名),官方程序默认伪静态是不支持自定义栏目名的,我们做以下修改使其支持自定义目录.
首先看urlrewrite的规则,这个是IIS6下的,其它环境下的规则自己转换下:
- RewriteRule /phpcms/(.*)(.*)/ /phpcms/index\.php\?m=contentc=indexa=listscategorydir=$1catdir=$2 RewriteRule /phpcms/(.*)(.*)/([0-9]+)/ /phpcms/index\.php\?m=contentc=indexa=listscategorydir=$1catdir=$2page=$3
1、打开phpcms\modules\content目录下的index.php找到 public function lists() {,将$catid = intval($_GET['catid']);替换成:
- if(isset($_GET['catid'])){$catid=intval($_GET['catid']);}else{$catdir=$_GET['catdir'];if($catdir==""){$catdir=$_GET['categorydir'];}$s=$this->_getCategoryId($catdir);$catid=$s[0][catid];}
并且在最后的}?> 前添加:
- function_getCategoryId($catdir){$this->category_db =pc_base::load_model('category_model');$result=$this->category_db->select(array('catdir'=>$catdir));// print_r($result); return$result;}
2、打开phpcms\modules\content\classes目录中的url.class.php,找到如下代码:
- if (!$setting['ishtml']) { //如果不生成静态 将下面的:
- $url=str_replace(array('{$catid}','{$page}'),array($catid,$page),$urlrule);if(strpos($urls,'\\')!==false){$url=APP_PATH.str_replace('\\','/',$urls);}
- //phpfensi.com
- //替换成:
- $domain_dir='';if(strpos($category['url'],'://')!==false &&strpos($category['url'],'?')===false){if(preg_match('/^((http|https):\/\/)?([^\/]+)/i',$category['url'],$matches)){$match_url=$matches[0];$url=$match_url.'/';}$db=pc_base::load_model('category_model');$r=$db->get_one(array('url'=>$url),'`catid`');if($r)$domain_dir=$this->get_categorydir($r['catid']).$this->categorys[$r['catid']]['catdir'].'/';}$categorydir=$this->get_categorydir($catid);$catdir=$category['catdir'];$year=date('Y',$time);$month=date('m',$time);$day=date('d',$time);//echo $catdir; $urls=str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$prefix}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$prefix,$page),$urlrule);// echo $urls."
- "; if(strpos($urls,'\\')!==false){$urls=APP_PATH.str_replace('\\','/',$urls);}$url=$domain_dir.$urls;
3、后台URL规则中添加:url示例:1/url规则:
{$categorydir}{$catdir}/|{$categorydir}{$catdir}/{$page}/
最后更新栏目缓存.
Tags: PHPCMS伪静态 PHPCMS自定义栏目
相关文章
- ·PHPCMS伪静态的设置方法(2014-10-19)
- ·Phpcms V9全站伪静态设置方法(2014-10-20)
- ·PHPCMS V9 TAG伪静态终极解决方案(2014-10-20)
- ·Nginx下phpcms伪静态规则_rewrite重写(2014-10-21)
- ·phpcms v9中给Rss伪静态配置方法(2014-12-04)
- ·phpcms如何设置伪静态(2014-12-05)
- ·phpcms搜索页伪静态配置方法(2015-04-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)