代码之家  ›  专栏  ›  技术社区  ›  Masoud92m

如何在yii2 urlmanager中为默认页面创建干净的url

  •  2
  • Masoud92m  · 技术社区  · 6 年前

    [
        'pattern' => 'page/<page:\d+>',
        'route' => 'site/index',
    ],
    

    example/page/1

    [
        'pattern' => 'page/<page:\d+>',
        'route' => 'site/index',
        'defaults' => ['page' => 1],
    ],
    

    现在第一页变成了 example.com/page

    example.com

    1 回复  |  直到 6 年前
        1
  •  1
  •   ajmedway    6 年前

    defaultRoute 默认 $page

    'rules' => [
        [
            'pattern' => '',
            'route' => 'site/index',
            'defaults' => ['page' => 1],
        ],
        [
            'pattern' => 'page/<page:\d+>',
            'route' => 'site/index',
        ],
    ],
    

    public function actionIndex($page)
    {
        echo '<pre>';
        echo 'site / index / $page ' . print_r($page, true);
        echo '</pre>';
        exit;
    }
    

    public function actionIndex($page = 1)
    {
        echo '<pre>';
        echo 'site / index / $page ' . print_r($page, true);
        echo '</pre>';
        exit;
    }
    

    'rules' => [
        [
            'pattern' => '',
            'route' => 'site/index',
        ],
        [
            'pattern' => 'page/<page:\d+>',
            'route' => 'site/index',
        ],
    ],
    
    推荐文章