Как сделать доступным только 1 формат route, а всех остальные редиректить?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Как сделать доступным только 1 формат route, а всех остальные редиректить?

Сообщение MarkL »

Есть ссылка формата:
domain.com/catalog/items?slug=some-param - назовем её "Оригинальная"

Сделал её следующего формата:
domain.com/catalog/items/some-param - назовем её "Красивая"

С помощью правила в UrlManager:

Код: Выделить всё

'catalog/items/<slug:[a-z0-9_\-]+>' => '/catalog/items',
Проблема:
Контент сайта доступен по двум ссылкам с Оригинальной и Красивой.
Хочу чтобы был доступ был только к Красивой ссылки. А при переходе на Оригинальную - шёл редирект на Красивую.

Как это можно реализовать? Возможно, расширенное правило UrlManager, или директива .htaccess(сервер Apache)?
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Как сделать доступным только 1 формат route, а всех остальные редиректить?

Сообщение german.igortcev »

Переопределять Rule из URLManager или писать свой. который будет отслеживать определенный формат и переопределять
Ответить