我无法显示静态页面。尝试按照此处文档中的描述进行操作 - http://stuff.cebe.cc/yii2-guide.pdf (第100页)但是当我启用prettyurl时,它不起作用。
在urlManager规则中添加:
'urlManager' => array(
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => array(
'' => 'site/index',
'login' => 'site/login',
'contacts' => 'site/contact',
'<view:(break)>'=>'/site/page?&view=<view>',
),
),
然后在SiteController中添加:
public function actions()
{
return [
...
'page' => [
'class'=>'yii\web\ViewAction',
],
];
}
然后创建views/site/pages/break.php
<h1>View static page Break</h1>
但是我收到一个错误: 未找到(#404) 无法解析请求:site/page?&view=break
如果我禁用 PrettyUrl:
//'enablePrettyUrl'=>true
然后我可以看到我的页面输入网址:index.php?r=site/page&view=break
ViewAction 有什么问题吗?
最佳答案
我认为您的网址管理规则部分是错误的。 试试这个
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
],
规则部分应该很重要..
关于yii2 - Yii 2 静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644763/