2019-11-11 10:24:58 1457次浏览 1条回答 0 悬赏 10 金钱

有已美化过的 URL: http://localhost/index/default/article 如何简化 URL 为:http://localhost/article

首页已定义到:http://localhost/index/default/index 已默认成: http://localhost/

补充于 2019-12-03 14:49

'《action》' => 'index/default/《action》' 已解决,给大家参考。 英文括号action会被解析掉,所以用了中文,自行替换。

  • 回答于 2019-11-11 11:40 举报

    https://www.yiichina.com/doc/guide/2.0/runtime-routing

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            'article' => 'index/default/article',
            '/' => 'index/default/index'
        ]
    ]
    

    不知能否解决问题。

    7 条回复
    回复于 2019-11-11 16:35 回复

    这样每个操作都需要设置一条,有没有类似群组的方法去掉 index/default/
    ``
    例如:

    http://localhost/index/default/article
    http://localhost/index/default/comment
    用一个群组规则简化为
    http://localhost/article
    http://localhost/comment
    

    而不需要定两条

    'article' => 'index/default/article',
    'comment' => 'index/default/comment',
    

    ``

    回复于 2019-11-13 12:06 回复

    '<controller:[a-zA-Z]\w+>' => 'site/default/',

    回复于 2019-11-14 17:48 回复

    定义控制器? 没看懂。能否具体点?感谢

    回复于 2019-11-15 10:59 回复


    参考UrlManager.php源码中 86行的例子,实测是可以的
    Here is an example configuration for RESTful CRUD controller:

     * [
     *     'dashboard' => 'site/index',
     *
     *     'POST <controller:[\w-]+>' => '<controller>/create',
     *     '<controller:[\w-]+>s' => '<controller>/index',
     *
     *     'PUT <controller:[\w-]+>/<id:\d+>'    => '<controller>/update',
     *     'DELETE <controller:[\w-]+>/<id:\d+>' => '<controller>/delete',
     *     '<controller:[\w-]+>/<id:\d+>'        => '<controller>/view',
     * ];
    
    回复于 2019-11-15 18:16 回复

    我是问YII有没有方法?不是改代码。实力不允许

    回复于 2019-11-18 14:22 回复

    没改代码 只是参考下源代码中例子,配置中自己加规则试下

    回复于 2019-11-28 18:45 回复

    我是像知道有没有办法群组定义模块URL的配置,这个也是相当于一个个的定义了。还容易出错

您需要登录后才可以回答。登录 | 立即注册
A丶乐鹏࿐
见习主管

A丶乐鹏࿐ 广东东莞

注册时间:2019-11-11
最后登录:2020-01-08
在线时长:2小时20分
  • 粉丝0
  • 金钱95
  • 威望10
  • 积分215

热门问题