在yii中创建一个控制器indexcontroller

时间:2013-08-13 03:14:12

标签: php yii yii-routing

我打算在yii做一个博客。我有一个名为article的表及其相应的模型,视图,使用gii生成控制器。我希望帖子显示在主页中,所以我设置

defaultController='article'

虽然帖子显示在主页上,但当我点击阅读标题时,网址仍然包含控制器名称,如

www.yiisite.com/article/1

所以我希望网址改为:

www.yiisite.com/1

我想在我的网址中隐藏控制器名称。

实施它的传统方法是什么?

我想让网址友好,所以我使用了以下规则:

'/<year:\d{4}>/<month:\d{2}/<vanity:[\w\W]+>'=>'article/view' 

现在在ArticleController的loadmodel()中,我希望更改find​​ByPk($ id)以使用年,月和唯一的虚荣URL来获取数据。所以我会得到像www.yiisite.com/2013/07/vanity-url-article这样的网址。

这种方法很好吗?

1 个答案:

答案 0 :(得分: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>',
     ),
   ),
  ),
);