sidorenkoda
@sidorenkoda
Программист, верстальщик, руководитель проектов

Как в Yii2 задать универсальный ЧПУ?

Есть URLs:
  • /katalog_banya_i_sauna
  • /katalog_banya_i_sauna/4
  • /katalog_banya_i_sauna/veniki
  • /katalog_banya_i_sauna/4/4
  • /katalog_banya_i_sauna/veniki/Venik_horoshy_ochen


Для них создал аж целых 3 правила ЧПУ
'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => true,
            'rules' => [
                [
                    'pattern' => '',
                    'route' => 'site/index',
                    'suffix' => '',
                ],
                [
                    'pattern' => 'katalog_<modul>',
                    'route' => 'categories/index',
                    'suffix' => '',
                ],
                [
                    'pattern' => 'katalog_<modul>/<firstId>',
                    'route' => 'categories/index',
                    'suffix' => '',
                ],
                [
                    'pattern' => 'katalog_<modul>/<firstId>/<secondId>',
                    'route' => 'categories/index',
                    'suffix' => '',
                ],


А как обойтись в данном случае одним правилом?
Звучать оно должно так: Все, что начинается с "katalog_" то, это редиректить на categories/index

Спасибо!
  • Вопрос задан
  • 393 просмотра
Решения вопроса 1
sidorenkoda
@sidorenkoda Автор вопроса
Программист, верстальщик, руководитель проектов
Сам решил задачу =)
Может кому будет полезно:
'pattern' => 'katalog_<modul:(\w+)(/(\w+))?(/(\w+))?>',
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы