简述
如果yii\web\UrlRule ,则 URL 规则是一个实例。当启用漂亮的 URL 格式时,urlManager组件使用在其rules属性中声明的 URL 规则。
为了解析请求,URL 管理器按照声明的顺序获取规则并查找第一条规则。
第 1 步 - 修改config/web.php文件中的urlManager组件。
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
第 2 步- 在http://localhost:8080/about访问您的网络浏览器,您将看到 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 被解析成文章/索引
- /index.php/articles/2014/php 被解析成文章/索引
- /index.php/article/100 被解析成文章/视图
- /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 浏览器的地址栏中键入地址http://localhost:8080/site/contact.html,您将在屏幕上看到以下内容。注意html后缀。