- Yii 教程
- Yii - 首页
- Yii - 概览
- Yii - 安装
- Yii - 创建页面
- Yii - 应用程序结构
- Yii - 入口脚本
- Yii - 控制器
- Yii - 使用控制器
- Yii - 使用操作
- Yii - 模型
- Yii - 小部件
- Yii - 模块
- Yii - 视图
- Yii - 布局
- Yii - 资源
- Yii - 资源转换
- Yii - 扩展
- Yii - 创建扩展
- Yii - HTTP 请求
- Yii - 响应
- Yii - URL 格式
- Yii - URL 路由
- Yii - URL 规则
- Yii - HTML 表单
- Yii - 验证
- Yii - 特设验证
- Yii - AJAX 验证
- Yii - 会话
- Yii - 使用闪存数据
- Yii - Cookie
- Yii - 使用 Cookie
- Yii - 文件上传
- Yii - 格式化
- Yii - 分页
- Yii - 排序
- Yii - 属性
- Yii - 数据提供者
- Yii - 数据小部件
- Yii - ListView 小部件
- Yii - GridView 小部件
- Yii - 事件
- Yii - 创建事件
- Yii - 行为
- Yii - 创建行为
- Yii - 配置
- Yii - 依赖注入
- Yii - 数据库访问
- Yii - 数据访问对象
- Yii - 查询构建器
- Yii - Active Record
- Yii - 数据库迁移
- Yii - 主题
- Yii - RESTful API
- Yii - RESTful API 实践
- Yii - 字段
- Yii - 测试
- Yii - 缓存
- Yii - 片段缓存
- Yii - 别名
- Yii - 日志记录
- Yii - 错误处理
- Yii - 身份验证
- Yii - 授权
- Yii - 本地化
- Yii - Gii
- Gii – 创建模型
- Gii – 生成控制器
- Gii – 生成模块
- Yii 有用资源
- Yii - 快速指南
- Yii - 有用资源
- Yii - 讨论
Yii - URL 规则
URL 规则是 yii\web\UrlRule 的一个实例。当启用漂亮 URL 格式时,urlManager 组件使用在其 rules 属性中声明的 URL 规则。
为了解析请求,URL 管理器按照声明的顺序获取规则,并查找第一个规则。
步骤 1 − 修改 config/web.php 文件中的 urlManager 组件。
'urlManager' => [ 'showScriptName' => false, 'enablePrettyUrl' => true, 'rules' => [ 'about' => 'site/about', ] ],
步骤 2 − 在您的 Web 浏览器中访问 https://127.0.0.1:8080/about,您将看到关于页面。
URL 规则可以与此模式关联查询参数 −
<ParamName:RegExp>,其中 −
ParamName − 参数名称
RegExp − 用于匹配参数值的可选正则表达式
假设,我们声明了以下 URL 规则 −
[ 'articles/<year:\d{4}>/<category>' => 'article/index', 'articles' => 'article/index', 'article/<id:\d+>' => 'article/view', ]
当规则用于解析时 −
- /index.php/articles 被解析为 article/index
- /index.php/articles/2014/php 被解析为 article/index
- /index.php/article/100 被解析为 article/view
- /index.php/articles/php 被解析为 articles/php
当规则用于创建 URL 时 −
Url::to(['article/index']) 创建 /index.php/articles
Url::to(['article/index', 'year' => 2014, 'category' => 'php']) 创建 /index.php/articles/2014/php
Url::to(['article/view', 'id' => 100]) 创建 /index.php/article/100
Url::to(['article/view', 'id' => 100, 'source' => 'ad']) 创建 /index.php/article/100?source=ad
Url::to(['article/index', 'category' => 'php']) 创建 /index.php/article/index?category=php
要向 URL 添加后缀,您应该配置 yii\web\UrlManager::$suffix 属性。
步骤 3 − 修改 config/web.php 文件中的 urlComponent。
'urlManager' => [ 'showScriptName' => false, 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'suffix' => '.html' ],
步骤 4 − 在 Web 浏览器的地址栏中输入地址 https://127.0.0.1:8080/site/contact.html,您将在屏幕上看到以下内容。注意 html 后缀。