谁一开始就是大神?

modules模块化产生的url有重,如何解决。[2.0]

http://admin.myblog.com/article/article/index 这是我的一个文章列表连接 明显多了一个 article 但是除掉又不行。。报未找到。 解析流程我想是 第一个 article是找到config配置文件 找到了类

article' => ['class' => 'app\modules\article\Module',],  

然后根类找到$controllerNamespace
接下来自然而然的 就找到了 /article/index 这样完成了一个模块访问,
那么问题就来了。url不够简洁。求各位大神解惑。

config文件配置

  'modules' => [
        'article' => ['class' => 'app\modules\article\Module',],
    ],


这是module.php
<?php

namespace app\modules\article;

/**
 * article module definition class
 */
class Module extends \yii\base\Module
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = 'app\modules\article\controllers';

    /**
     * @inheritdoc
     */
    public function init()
    {
        parent::init();

        // custom initialization code goes here
    }
}

它url出现这个article/article/index,中间这个是控制器名称,你把这个article控制器改成 index 也是个解决办法
这不算是有重,两个article的意义不一样,只是因为你把两个取了一样的名字。
个别路径要调整你可以指定别名,比如用art代替 article/article 。
如果量多,修改路由转发规则
没看太明白,不过我感觉你需要的是/article,url路由要/开头,不然的话是相对路由,如果你当前已经在article模块,就会再出一个article

赞(0) 打赏
未经允许不得转载:菜鸟之家 » modules模块化产生的url有重,如何解决。[2.0]

评论 抢沙发

登录

找回密码

注册