Ipsum
@Ipsum

Правило для urlManager

Есть алиасы - категории товаров (к примеру food, shoes), а также алиасы информационных страниц (about, contact).

Из rules
'rules' => [
          ...
        '<alias:.+>' => 'catalog/sectionByAlias',
        '<page:.+>' => 'page/PageByAlias'
    ],

По этой схеме отработает только первое правило site.ru/food, а site.ru/contact выдаст "категория не найдена", можно в catalog/sectionByAlias сделать редирект на page/PageByAlias, если такая категория не найдена, но есть, наверное и другие пути. Какие?
  • Вопрос задан
  • 2665 просмотров
Решения вопроса 1
<alias:.+> и <page:.+> - это одинаковые url. <page:.+> никогда не сработает, т.к. 1-е удовлетворяющее условие будет <alias:.+>. Правила можно уточнить и поменять местами:

'<page:(about|contact)>' => 'page/<page>',
'<alias:\w+>' => 'catalog/<alias>'

Я бы на вашем месте оставил лучше /catalog/categoryname. Такие url более читабельны и понятны.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы