Yii URL的规则


如果是 yii \ web \ UrlRule, 则URL规则是一个实例。该 urlManager 组件使用在其声明的URL规则 规定 ,当启用了漂亮的URL格式属性。

为解析请求,URL管理器按照它们声明的顺序获取规则并查找第一条规则。

第1步 - 修改 config / web.php 文件中的 urlManager 组件。 **

'urlManager'  => [
   'showScriptName' => false,
   'enablePrettyUrl' => true,
   'rules' => [
      'about' => 'site/about',
   ]
],

第2步 - 在 http:// localhost:8080 / about 前往您的网络浏览器 您将看到关于页面。

修改后的urlManager组件

一个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步 -修改 urlComponent配置/ web.php 文件。

'urlManager' => [
   'showScriptName' => false,
   'enablePrettyUrl' => true,
   'enableStrictParsing' => true,
   'suffix' => '.html'
],

第4步 - 在Web浏览器的地址栏中输入地址 http:// localhost:8080 / site / contact.html ,您将在屏幕上看到以下内容。注意 html 后缀。

注意HTML后缀