urlManager - не работают ЧПУ

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Diakon
Сообщения: 18
Зарегистрирован: 2015.07.02, 18:12

urlManager - не работают ЧПУ

Сообщение Diakon »

Добрый день. Только начал изучать Yii 2 (хот много работал с Yii 1) и возник такой вопрос.
Я делаю ЧПУ. Во фронтед конфиг подключил urlManager. Все хорошо, но если мне надо чтоб при переходе по ссылке вида /hello открывался котроллер PagesController экшен public function actionContent($id)
Я прописал так

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

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => array(
                '/hello' => 'pages/content?id=1'
            )

        ],
 
И контроллер и экшен существуют, но если я введу в дресной строке /hello - выдается, что страница не существует, хотя если я ввиду в адресной строке pages/content?id=1 - переходит куда надо. Скажите в чем я ошибся и заранее спасибо всем кто подскажет!
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: urlManager - не работают ЧПУ

Сообщение ElisDN »

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

'<id:hello>' => 'pages/content',
и в $id придёт 'hello'.
Diakon
Сообщения: 18
Зарегистрирован: 2015.07.02, 18:12

Re: urlManager - не работают ЧПУ

Сообщение Diakon »

ElisDN писал(а):

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

'<id:hello>' => 'pages/content', 
и в $id придёт 'hello'.
А если мне нужно чтоб по ссылке в ЧПУ передавался именно $id - определенный id, как pages/content?id=1?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: urlManager - не работают ЧПУ

Сообщение ElisDN »

Для чего именно нужно?
Diakon
Сообщения: 18
Зарегистрирован: 2015.07.02, 18:12

Re: urlManager - не работают ЧПУ

Сообщение Diakon »

ну я делаю генератор страниц и я хотел бы что бы через ссылку передавался именно id записи в таблице. Именно скрыто от пользователя, т.е. человек переходит по ссылке, например /hello, а происходит передача id записи в БД в таблице страниц.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: urlManager - не работают ЧПУ

Сообщение ElisDN »

Добавьте в таблицу поле slug или alias и ищите по нему, а не по id.
Diakon
Сообщения: 18
Зарегистрирован: 2015.07.02, 18:12

Re: urlManager - не работают ЧПУ

Сообщение Diakon »

ElisDN писал(а):Добавьте в таблицу поле slug или alias и ищите по нему, а не по id.
К сожалению не могу, т.к. mysql не является чувствительным к регистру. А у меня могут быть как ссылка типа /hello так и /HELLO и нужно однозначено получать нужный id.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: urlManager - не работают ЧПУ

Сообщение ElisDN »

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

Page::findOne(['slug' => mb_strtolower($id, 'utf-8')]); 
Ответить