首页 > 其他分享 >Yii2-url路由配置

Yii2-url路由配置

时间:2024-04-17 10:57:02浏览次数:25  
标签:index false url enablePrettyUrl Yii2 true public 路由

Yii2-url路由配置

没做任何处理的情况下,url地址如下

http://www.yii2-basic.com/index.php?r=site/about 

去掉index.php 和 开启url美化

/web/目录下添加.htaccess文件

RewriteEngine on

 # 如果是一个目录或者文件,就访问目录或文件
 RewriteCond %{REQUEST_FILENAME} !-d

 # 如果文件存在,就直接访问文件,不进行下面的RewriteRule
 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule . index.php

配置文件

'urlManager' => [
    'enablePrettyUrl' => true, //这个表示开启url美化
    'showScriptName' => false, //这个字段表示不显示文件类型的名称,如.php或者.html
    // 'suffix' => '.html' //这个字段表示后缀
],

UrlManager 路由规则

用法示例

$config = [
    'components' => [
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'suffix' => null,
            'rules' => [
                'index' => 'site/index',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            ],
        ],
    ],
];

常用参数说明

/**
 * @var boolean 是否启用 URL 美化(路径友好化).
 */
public $enablePrettyUrl = false;
/**
 * @var boolean 是否启用严格的解析.
 * 如果启用严格解析, 则传入的请求 URL 必须至少与 $rules 中的一个匹配才被视为有效的请求. 否则, 请求的路径信息部分将被视为请求的路由.
 * 该属性仅在 $enablePrettyUrl 为`true`时使用.
 */
public $enableStrictParsing = false;
/**
 * @var \yii\web\UrlNormalizer|array|string|false
 */
public $normalizer = false;
/**
 * @var string 路由的 GET 参数名称.
 * 该属性仅在 $enablePrettyUrl 为`false`时使用.
 */
public $routeParam = 'r';
/**
 * @var array $enablePrettyUrl 为`true`时创建和解析 URL 的规则.
 * 该属性仅在 $enablePrettyUrl 为`true`时使用.
 */
public $rules = [];
/**
 * @var boolean 是否在创建的 URL 中显示入口脚本名称.
 * 该属性仅在 $enablePrettyUrl 为`true`时使用.
 */
public $showScriptName = true;
/**
 * @var string 当 $enablePrettyUrl 为`true`时使用的 URL 后缀. eg: '.html'.
 * 该属性仅在 $enablePrettyUrl 为`true`时使用.
 */
public $suffix = null;

$rules 参数详解

'rules' => [
    // 匹配首页, 生成`html://yii2.com/index.html`
    'index' => 'site/index',

    /** 匹配通用带`?id=15`的url
     * eg:`http://yii2.com/index.php?r=article%2Fview&id=104`,
     * 生成: `http://yii2.com/article/view/104.html`
     */
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',

    /** 匹配通用的url
     * eg:`http://yii2.com/index.php?r=article/index`,
     * 生成: `http://yii2.com/article/index.html`
     */
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],

标签:index,false,url,enablePrettyUrl,Yii2,true,public,路由
From: https://www.cnblogs.com/hu308830232/p/18140073

相关文章

  • http请求头中application/x-www-form-urlencoded和multipart/form-data区别
    application/x-www-form-urlencoded和multipart/form-data是两种不同的Content-Type,它们在网络请求中(尤其是POST请求)用来指定表单数据的编码格式application/x-www-form-urlencoded:•这是最常见的表单数据编码方式,也是HTML表单的默认编码类型。•所有表单字段名和值都会......
  • Yii2-安装smarty模板引擎及使用
    Yii2-安装smarty模板引擎及使用github地址:https://github.com/yiisoft/yii2-smarty命令安装:composerrequire--prefer-distyiisoft/yii2-smarty修改web.php配置文件return[//....'components'=>['view'=>['ren......
  • 03 Vue3路由
    Vue3的路由与Vue2相似,关于Vue2的路由器相关可以参考Vue2vue-router下面是一些补充路由器工作模式history模式优点:URL更加美观,不带有#,更接近传统的网站URL。缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有404错误。constrouter=createRouter({ history:c......
  • 18、BGP分层路由
    BGP分层路由定义BGP分层路由是指将一台设备上BGP路由分成基础路由和分层路由。部署BGP分层路由功能可为数据中心网络的故障场景提供更快的路由收敛速度,特别是在分层路由数量远大于基础路由的场景中能够达到较好的收敛效果。为了能够实现BGP分层路由收敛功能,新增了一种分层收......
  • 04、IS-IS路由渗透
    IS-IS路由渗透通常情况下,Level-1区域内的路由通过Level-1路由器进行管理。所有的Level-2和Level-1-2路由器构成一个连续的骨干区域。Level-1区域必须且只能与骨干区域相连,不同的Level-1区域之间并不相连。Level-1-2路由器将学习到的Level-1路由信息装进Level-2LSP,再泛洪LSP给......
  • vue3中动态添加路由刷新无法正确匹配路由组件
    1.问题动态添加路由之后,页面重新匹配路由,匹配到了设置的404notfound页面该页面是在路径无法匹配到的时候才会跳转的页面2.问题查找在前置路由守卫打印to发现当前地址匹配到的组件是配置的404页面并且此时的动态路由中是含有改路由地址的3.问题原因在页面刷新时......
  • conda install sometools报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <h
    把该错误投入chatgpt中会反映网络问题,重试几次但我重试了好几天也没安上,重新搜索该报错发现:ThatHTTPerrorhappenedwhenIupdatedthecondawith condaupdateconda.ItriedalloptionsdiscussedherebutitonlywassolvedwhenIdowngradedthecondaversion(I......
  • 鸿蒙HarmonyOS实战-ArkUI组件(页面路由)
    ......
  • nacos启用鉴权后curl调用接口
    1.通过用户名密码获取token密码尽量不要带特殊字符,否则可能识别错误/#curl-XPOST'http://192.168.60.181:8848/nacos/v1/auth/login'-d'username=nacos&password=nacos'{"accessToken":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxMjkyNDc......
  • 4.路由器设计技术基础
    4.1路由器和路由选择WAN用来连接外网(NAT技术)LAN用来连接内网直接转发与间接转发如下图:4.2IP路由汇聚红色的为网络有些浪费,可以把下面的小网络进行汇聚(左下4个,右下4个)计算:注:目的网络(计算出来的网络)不能和端口IP地址(下方带撇记的不属于端口IP所以可以和目的......