我打算在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()中,我希望更改findByPk($ id)以使用年,月和唯一的虚荣URL来获取数据。所以我会得到像www.yiisite.com/2013/07/vanity-url-article这样的网址。
这种方法很好吗?
答案 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>',
),
),
),
);