Сделайте контроллер indexcontroller в yii
Я планирую сделать блог в yii. У меня есть таблица с именем article и соответствующая ей модель view, контроллер генерируется с помощью gii. Я хочу, чтобы сообщения отображались на домашней странице, поэтому я установил
defaultController='article'
Несмотря на то, что сообщения отображаются на главной странице, когда я нажимаю на заголовок для дополнительной информации, в URL все еще есть имя контроллера, как
www.yiisite.com/article/1
Поэтому я хочу, чтобы URL был таким:
www.yiisite.com/1
Я хочу скрыть имя контроллера в своем URL.
Каков обычный метод для его реализации?
Я хотел сделать URL-адрес дружественным, поэтому использовал следующее правило:
'/<year:\d{4}>/<month:\d{2}/<vanity:[\w\W]+>'=>'article/view'
Теперь в loadmodel() в ArticleController я хочу изменить findByPk($id), чтобы получать данные, используя год, месяц и уникальный URL-адрес тщеславия. Таким образом, я получу URL-адрес, как www.yiisite.com/2013/07/vanity-url-article.
Этот подход хорошо, верно?
1 ответ
Обновить urlManager
на сайте конфигурации
return array(
'name'=>'My Project',
'defaultController'=>'article',
'components'=>array(
'urlManager'=>array(
'urlFormat'=>'path',
'caseSensitive' =>true,
'showScriptName'=>false,
//'useStrictParsing'=>true,
'rules'=>array(
'<action:[\w\-]+>' => 'article/<action>',
),
),
),
);