您好,欢迎来到菜鸟吧源码网(www.cniao8.com)本站只做精品网站源码!
  • 首 页
  • 菜鸟云
  • 公告:本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > phpcms >
    Phpcms v9自定义URL方法
    时间:2019-10-17 14:47 作者:菜鸟吧 浏览:收藏 挑错 打印

    有时候我们在phpcms的使用过程中,需要自定义一些规则方便seo目录要求等,这里简单分享下,方便需要的朋友

    一、概述

    自定义url规则,首先要建立自己的URL规则,首先的理解一些定义和变量含义。首先进入URL规则管理这里,你会看到如下内容(进入方法:“扩展”-》“RUL规则管理”—》“管理RUL规则”)

    在、问吧、专题、等等
    也就是说你下一步建立的RUL规则是要应用在哪个模块上,那你就要选者哪个。在这里特别要提示一下的是,你在建立URL规则的时候不要选哪个“不限”。本然按照PHPCMS当初的意思是可以应用与任何模块,但是我实际操作当中,发现如果选者了不限,那你在其他模型里面是看不到你选者的URL规则。

    二、名称

    名称这里PHPCMS分 category(列表页),show(详细页),htmlshow(问吧详细页),htmlcategory(问吧列表页)。
    这里要注意一点,假如你是现在定义的URL规则是想应用与图片模块的列表页,那你这里URL名称一定要写category,否者的话,你在模块设置这里是看不到你定义的URL规则。

    三、HTML

    你在定义URL规则的时候,有个可选项目,静态URL规则:生成静态页面调用的URL规则,你选者“是”或者“否”,意思就是如果选者是,那你这条规则就是生成静态页面用的,相反就选否。

    四、URL示例

    这里就是些一些你想要的URL形式,你可以随便写,只要你自己认得这是你这一条规则的形式。但是不能不写啊,否者你在模型设置里面,又会发现,怎么看不到我定义的规则名称,这个示例可是当名称一样用的哦。

    在定义RUL规则之前,你首先要理解上面的四点,然后接下来要理解那些变量的含义了。

    1、{$parentdir}{$catdir} ---含义:当前栏目目录名称;
    2、{$catid} ----含义:栏目ID号;
    3、.{$fileext}---含义:.htm(注意这里前面要加个“."号l ;
    4、{$year} ----含义:年;
    5、{$month} --含义:月;
    6、{$day} -----含义:日;

    根据后台 系统设置->相关设置->URL规则管理所列的URL规则编写。

    以下所用示例,请灵活修改。

    示例栏目:

    新闻news

    |___国内china

    |___国际inter

    |___美国usa


    1、URL规则所用变量
    {$catid}栏目id。例:形如1,10等

    {$categorydir}栏目目录树(相对于phpcms安装目录)。例:如为一级目录则为/news/,二级目录为/news/china/,三级目录为/news/inter/usa

    {$catdir}栏目目录。例:如为一级目录则为/news/,二级目录为/china/,三级目录为/usa/

    {$year} {$month} {$day} 年月日。文章发布时间的年,月,日。


    {$page}页码。文章分页时的页码。

    {$fileext}静态页扩展名。为网站配置->生成的扩展名所定义。

    {$contentid}文章id。

    以下是专题模块用的

    {$typeid}类别id

    {$typedir}类别目录

    {{$filename}专题名称

    {$specialid}专题id

    问吧,对于问吧,最好不要修改了

    {$action}操作

    2、URL规则数据库字段说明
    模块:所属模块,目前有问吧,专题,phpcms。

    URL规则名称:这个名称应该为URL规则应用的范围,如用于栏目页(目录),内容页等。一般会用到show(内容页),category(栏目页)

    生成Html:是否生成html。关系到所写的URL规则。

    URL规则/URL示例:这个就是本文重点要讲的了

    3、应用示例

    特别说明:定义url时,应为分页网址加上{$page}变量。两条规则用|隔开。

    (1)官方演示

    {$catdir}/index.{$fileext}|{$catdir}/{$page}.{$fileext}

    {$categorydir}/{$year}/{$month}{$day}/{$contentid}.{$fileext}|{$categorydir}/{$year}/{$month}{$day}/{$contentid}_{$page}.{$fileext}

    (2)一个例子

    建立形如/news/article_1_2.html的规则

    {$catdir}/article_{$contentid}.{$fileext}|{$catdir}/article_{$contentid}_{$page}.{$fileext}

    如选目录树,则{$catdir}改为{$category}

    (3)扩展功能(正式版未测试)

    定义为动态时,所以栏目、内容页都为phpcms目录下/list.php?,/show?等形式,如果想让url规则为/news/show.php?id=,/news/index.php这个要怎么操作呢?

    首先想到的是定义url规则,如

    栏目页{$catdir}/index.php|{$catdir}/index.php?page={$page}

    内容页{$catdir}/show.php?contentid={$contentid}|{$catdir}/show.php?contentid={$contentid}&page={$page}

    定义完之后,问题来了,所建的目录下并没有index.php和show.php文件,怎么办?

    把list.php复制到相应目录下,更名为index.php,show.php也做如上操作,这两个文件都在phpcms的目录里。

    这时再看已经输入的内容,会提示出错,路径错误,改show.php第一句为

    require ‘../include/common.inc.php’; 这个是根据一级目录改的

    下面还有几个require,相应的改动一下就行了,我没改,也没有报错。改完之后再浏览(在后台,点文章标题)就可以打开了。

    修改复制进去的index.php

    第一句修改同上。因为自定义URL规则是不带catid参数的,所以在$catid = intval($catid);改为$catid = 5(这里是你所要改的栏目的id,在栏目管理可以看到)。

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。

    PHPCMS 模板安装导入教程PHPCMS 模板安装导入教程
    PHPCMS V9静态化HTML生成设置和URL配置方法PHPCMS V9静态化HTML生成设置和URL配置
    phpcms制作图片频道模板的方法phpcms制作图片频道模板的方法