我为我的网站创建了一些CMS页面。现在我想以这样的方式制作它,例如:domain.in/aboutus
我为我的数据库中的每个CMS页面创建了一个页面别名 如果我调用这些页面别名,我应该得到相应的页面。
我在这里遵守我的规则
'urlManager' => [
'showScriptName' => false, // Disable index.php
'enablePrettyUrl' => true, // Disable r= routes
//'enableStrictParsing' => true,
'rules'=>array(
'aboutus'=>'cms/index/1' //I need this line dynamically
'<siteName:\w+>/<role:(teacher|parent)>' => 'customers/login',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
],
有人可以帮忙解决这个问题吗?
答案 0 :(得分:0)
你可能在考虑URL slugs。
无论如何你开始很好,但你必须实现的不仅仅是网址规则。正确的方法是实现Yii2 Sluggable Behavior,这是在模型级别完成的,并支持控制器级别的slug。这不是一项短期任务,但实施它不需要一整天。
这was answered before,所以你可以看一下。
可以在this tutorial中找到更完整的分步教程。
总之,您必须:
slug
属性。希望这有帮助。