开发方式

代码开发

可视化开发

开发资源

代码仓库

AI助手

衍生系统

UTCms

UTForum

文档有错误?
发信:usualtool@qq.com

定位至目录

路由

1.概述

UT框架采用单入口方式,整体设计上符合MVC/MVVM,因此要明确路由上必要参数的含义。

显式路由
?m=x&p=x...,其中m为模块,p为模块所属页面名称,2个参数后紧跟其他GET参数。如:/?m=x&p=x&id=1

目录式路由
/m/p/...,目录式是静态路由的表现方式,依赖伪静态配置,m和p分别代表模块和页面名称。如:/m/p?id=1(可视开发包暂不支持目录式路由)

缺省设置:当m为空时自动默认为ut-frame(伪静态自动映射模块时可用index表示ut-frame),当p为空时默认为index

2.路由映射

类型 配置文件 规则格式 条件 映射效果
模块映射 /open/route.php 映射名称 => 真实模块名称 仅配置伪静态规则时生效 将 index 映射到 ut-frame 模块后:
https://xxx.com/index/index → https://xxx.com/ut-frame/index(即 https://xxx.com?m=ut-frame&p=index)
页面映射 /modules/模块/route.php 页面别名 => 真实页面名称 配置即生效 将 test 映射到 index 页面后:
显式路由:https://xxx.com/?m=模块&p=test → https://xxx.com/?m=模块&p=index
目录式路由:https://xxx.com/模块/test → https://xxx.com/模块/index

3.路由编制

语法 写法 说明
动态语法 usualtool\Lib\Route::Link("模块","页面","参数") 在 PHP(控制器、模板编译代码)中调用,返回符合 UT 框架规则的地址字符串。
模板语法 <{url=>Link("模块","页面","参数")}> 在 .cms 模板中直接输出地址,等价于上面的动态调用。
参数留空 Link("article","","cid=1&page=2") 模块为空取 DEFAULT_MOD,页面为空取 DEFAULT_PAGE(默认 index),页面名会自动去掉 .php 后缀。

同一调用,两种输出(Link("article","","cid=1&page=2"))

配置路由形态生成地址
REWRITE=0显式路由/?m=article&cid=1&page=2
REWRITE=1目录式路由/article/index?cid=1&page=2
关键前提:目录式路由完全依赖伪静态设置。没有配置伪静态时,REWRITE=1 编制出的 /article/index 这类地址是无效的——必须先确认服务器伪静态规则已生效,再开启目录式路由。

4.伪静态

各类服务器伪静态例子(注意:可视开发包暂不支持目录式伪静态)

Apache下.htaccess参考:

NGINX下配置参考:

IIS下web.config参考:

始于2018年,UT框架版权归原作者所有
开放、包容、发展。 工单 | 团队 | 蜀ICP备2024067013号