Настройка правил urlManager в Yii2

Я новичок в использовании Yii2 и использую urlManager, у меня есть следующий код, он работает нормально, но я думаю, что это должно быть короче. У меня есть пара правил следующим образом:

    'rules' => [        
        'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>' => 'gifts/index',
            'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>/' => 'gifts/index',
            'gifts/<subjectone:[\s\S]+>' => 'gifts/index',
            'gifts/<subjectone:[\s\S]+>/' => 'gifts/index',
     ];

Как вы можете видеть, я добавил все 4 правила, чтобы перейти на одну и ту же страницу, чтобы обрабатывать разные ситуации.

Я должен был добавить один и тот же URL дважды, один раз с / и один без остановки 404-х годов. Пожалуйста, посоветуйте лучший способ справиться с этим.

1 ответ

Решение

Можете добавить +|(\/?) в конце вашего правила. Взглянуть:

 'gifts/<subjectone:[\s\S]+>+|(\/?)' => 'gifts/index',

Так что нет необходимости писать свои правила дважды.

Другие вопросы по тегам