2023-09-30 22:29:57 | 我爱编程网
一、概述
自定义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,在栏目管理可以看到)。
摘选自 网页链接 ,内容挺全的
可以自定义路由的框架太多了,以下从框架的可用性等来介绍:
Laravel 框架:
合框架的大成,是一个全栈框架,包含:MVC,缓存,队列,定时任务等等。
Slim :
一个微型的框架,如果是简单的App后端服务,可以使用。
ThinkPHP 5.0 版本:
中文文档十分丰富,使用群体多,比较适合国内初学者使用。
php知识框架总结php知识框架总结篇一:php基础知识点总结PHP语言基础简单整理1.开始结束标记的格式只有在没有判断语句时才能使用。对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:stringurlencode(stringstr);对URL编码后的查询字符串进行解码,可以通
php主流框架都有什么php各种主流框架的比较一、ThinkPHP框架优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快,有丰富的中文文档;学习成本低,社区活跃度高,在
我想尝试着写个小型PHP框架,现在卡在类自动加载和路由实现上了类自动加载跟路由是框架最基础的特性给你点自动加载的思路,首先现在写框架必须用上命名空间,框架内部的类文件夹根据命名空间命名方便自动加载在入口文件引入自己写的Autoload.php通过spl_autoload_register获得要加载的类名spl_autoload_register(function ($cla
什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义可以自定义路由的框架太多了,以下从框架的可用性等来介绍:Laravel框架:合框架的大成,是一个全栈框架,包含:MVC,缓存,队列,定时任务等等。Slim:一个微型的框架,如果是简单的App后端服务,可以使用。ThinkPHP5.0版本:中文文档十分丰富,使
国外主流PHP框架对比评测最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架)大致对这些框架有个直观上的感受简单分享一下对于哪些做框架选型的时候权当一个参考主要参考的框架包括CodeIgniterCakePHPZendFrameworkSymfony我对很多框架也没有认真使用只是简单试用了一下可能很多看法不成熟或者是错误的请大家指正一起成长CodeI
我想尝试着写个小型PHP框架,现在卡在类自动加载和路由实现上了类自动加载跟路由是框架最基础的特性给你点自动加载的思路,首先现在写框架必须用上命名空间,框架内部的类文件夹根据命名空间命名方便自动加载在入口文件引入自己写的Autoload.php通过spl_autoload_register获得要加载的类名spl_autoload_register(function ($cla
php框架搭建方法?php框架搭建步骤:1.项目初始化首先我们在自己的web目录下创建我们的项目目录,我暂且把项目命名为hellovod,因此我的电脑目录就是:D:laragonwwwhellovod。在该目录下创建composer.json文件。2.添加入口文件初始化完毕后,我们来配置入口文件。在hellovod目录下新建一个public文件夹,并在该文件夹下创建
php框架搭建方法?php框架搭建步骤:1.项目初始化首先我们在自己的web目录下创建我们的项目目录,我暂且把项目命名为hellovod,因此我的电脑目录就是:D:laragonwwwhellovod。在该目录下创建composer.json文件。2.添加入口文件初始化完毕后,我们来配置入口文件。在hellovod目录下新建一个public文件夹,并在该文件夹下创建
2023-09-13 13:02:53
2023-09-21 21:18:47
2023-06-26 19:36:09
2023-07-16 10:35:19
2023-07-16 10:26:24
2023-06-26 23:28:31