0

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

defaultController='article'

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

www.yiisite.com/article/1

所以我希望 url 变成这样:

www.yiisite.com/1

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

实现它的常规方法是什么?

我想让 url seo 友好,所以我使用了以下规则:

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

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

这种方法没问题吧?

4

1 回答 1

2

更新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>',
     ),
   ),
  ),
);
于 2013-08-13T04:02:39.880 回答