Yii url兼容模式

前言:yii 框架本身不支持url访问兼容模式,只支持普通模式与pathinfo模式其中之一

https://xxx/web/index.php?r=mall/Findex/index 默认模式
https://xxx/web/index.php/mall/index/index pathinfo 模式

但是项目中总会遇到需要兼容的地方

改进:
1.在config/配置文件中添加urlManager

'components' => [
        'cache' => isset($local['cache']) ? $local['cache'] : [
            'class' => 'yii\caching\FileCache',
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,//必须开启pathinfo
            'showScriptName' => true,
            'rules' => [
            ],
        ],

2.创建目录文件common\components\urlManager.php

<?php

namespace app\common\components;
use yii;

/**
 * 继承原始URL类,同时支持 URL 原始和美化的请求
 */
class urlManager extends yii\web\UrlManager
{

    public function parseRequest( $request )
    {
        $route = trim($request->get($this->routeParam));
        $enablePrettyUrl = $this->enablePrettyUrl;

        if( $route != '' ) $this->enablePrettyUrl = false;
        $result = parent::parseRequest($request);
        if( $route != '' ) $this->enablePrettyUrl = $enablePrettyUrl;

        return $result;
    }
}

3.依旧在config/配置文件中添加

$config['components']['urlManager']['class'] = 'app\common\components\urlManager';

至此,两种模式都可兼容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小阿巳

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值