UrlManager - парсинг адреса

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
long399
Сообщения: 96
Зарегистрирован: 2019.08.13, 08:03
Откуда: г. Новосибирск

UrlManager - парсинг адреса

Сообщение long399 »

Здравствуйте, уважаемые коллеги!

Помогите, пожалуйста, разобраться с одним вопросом.

Хочу предусмотреть ситуации, когда пользователь может "подпортить" URL лишним слешем (/) или еще как-то.

Вот, к примеру:
http://example.ru/department/1 - рабочий вариант
http://example.ru/department/1/docs - рабочий вариант
http://example.ru/department/1/ - вызовет ошибку 404.
http://example.ru/department/1/abc - вызовет ошибку 404.

Хотелось бы написать какое-то правило в UrlManager, чтобы происходил переход к тому адресу, к которому это возможно, если отбросить символы URL справа. Т.е. если пользователь вводит http://example.ru/department/1/abc, должна загрузиться страница http://example.ru/department/1. Это же должно происходить и в случае ввода http://example.ru/department/1/. Но не знаю как это правильно делается... :(
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: UrlManager - парсинг адреса

Сообщение yiiliveext »

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

return [
    'class' => \yii\web\UrlManager::class,
    'normalizer' => [
        'class' => 'yii\web\UrlNormalizer',
        'normalizeTrailingSlash' => true,
    ],
]
long399
Сообщения: 96
Зарегистрирован: 2019.08.13, 08:03
Откуда: г. Новосибирск

Re: UrlManager - парсинг адреса

Сообщение long399 »

Спасибо вам огромное, не впервой выручаете!
Ответить