###2.14个性化URL结构
---
一、支持主表字段(如果需要附表字段可以使用方法“三”)
要使用个性化URL结构,必须先阅读上面“数据结构”章节
![](https://box.kancloud.cn/2016-03-07_56dd0a8402264.jpg)
{catname}:示栏目名称,看过“数据结构”的都懂,不解释
{title}:是文章的id
1、静态生成模式
静态生成模式,不用加{id}标签,但要确保url地址的唯一(可以加其他参数来区分,如时间)
2、伪静态模式
伪静态模式,栏目必须有{id}或者{dir}/{pdir},内容必须加{id}标签,前面已经说的很清楚了
![](https://box.kancloud.cn/2016-03-07_56dd0a84127ab.jpg)
如果你的服务器不支持多编码,可能会出现中文乱码,慎用
二、运用普通函数(以md5函数为例子)
1、静态生成模式
![](https://box.kancloud.cn/2016-03-07_56dd0a84255ae.png)
{md5({id})}.html : {id}表示调用当前的id,{md5(xxx)}表示进行md5运行,因为是静态生成模式,所有可以不用再次加id了
2、伪静态模式
![](https://box.kancloud.cn/2016-03-07_56dd0a8435eb5.png)
{md5({id})}-{id}.html : 前面一节跟上面一样,后面{id}表示调用当前的id,因为是伪静态嘛,必须与服务器的id匹配运算,所有必须加一个id
{word2pinyin({title})}-{id}.html : 拼音标题+id.html(需要用的可以参考,不支持特殊汉字)
那么伪静态代码如下:
RewriteRule ^([a-zA-Z0-9]{32})-([0-9]+).html$ index.php?c=content&a=list&catid=$2 [L] (md5是32位的所有前面写了{32})
![](https://box.kancloud.cn/2016-03-07_56dd0a8449701.png)
三、运用自定义函数
例子:文章标题的拼音.html(我们以静态为例子吧,伪静态时记得跟上面例子一样必须加一个id)
![](https://box.kancloud.cn/2016-03-07_56dd0a8459183.png)
从上面不难看出,我们是调用了自定义函数test(),那么我们就定义一个test的函数(自定义函数应该放在专用文件里/trunk/extensions/custom.php,不会影响系统升级)
function test($data, $page=1) {
if ($page > 1) { //当带有分页时
//word2pinyin函数是系统自带的拼音转换函数,特殊字不支持哦~
return word2pinyin($data['title']) . '-' . $page; //上面规则中写了.html为后缀,在这里就不用写了
} else { //当不带分页时
return word2pinyin($data['title']); //上面规则中写了.html为后缀,在这里就不用写了
}
}
//其实这种URL格式方法二完全可以实现的
![](https://box.kancloud.cn/2016-03-07_56dd0a846699b.png)
补充: 上面函数中的$data数组是指当前文章表(不包括自定义字段,若要使用自定义字段必须查询)、栏目表、表单(包括自定义字段)的数据
- 后台管理
- 1.首次进入系统有红色的提示文字
- 2.栏目管理
- 3.附件管理
- 4.会员投稿流程
- 5.自定义模型使用说明
- 6.表单使用教程
- 7.Ucenter使用说明
- 8.站内搜索参数说明及表单设计
- 9.会员扩展使用教程
- 10数据采集
- 代码配置管理
- 2.1字段类别说明
- 2.2[静态/伪静态]自定义URL
- 2.3网站多语言配置方法
- 2.4后台管理目录(admin)更改方法介绍
- 2.5自定义Tag标签的URL
- 2.6多站点及分站配置
- 2.7栏目自定义字段
- 2.8提交表单邮件通知
- 2.9极验验证
- 2.10自定义字段表单调用
- 2.11联动菜单(linkage)
- 2.12模型选项名称和选项值
- 2.13自定义编辑器
- 2.14个性化URL结构
- 数据结构与标签模板设计
- 3.1部分表的数据结构
- 3.2模板设计指南
- 3.3万能标签list
- 3.4标签语法说明
- 3.5系统变量介绍
- 3.6系统函数介绍
- 3.7栏目调用说明
- 3.8SQL语句查询
- 3.9推荐位调用
- 3.10Tag标签调用
- 3.11插件开发指南
- 3.12自定义字段类别
- 3.13自定义分页样式
- 3.14表单模型和会员扩展模型的回调函数
- 3.15模型回调函数开发