我已经在views/sites/example.php中创建了一个视图
<?php
use yiihelpersHtml;
?>
<?= Html::encode($message) ?>
然后在siteconcontroller。php中添加
public function actionExample($message = 'Hello')
{
return $this->render('example', ['message' => $message]);
}
在main.php中配置了urlManager
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => array(
'<controller:w+>/<id:d+>' => '<controller>/view',
'<controller:w+>/<action:w+>/<id:d+>' => '<controller>/<action>',
'<controller:w+>/<action:w+>' => '<controller>/<action>',
),
],
当我尝试访问localhost/example的页面时,我得到一个404。我错过了什么?
InrulesurlManager部分代码中有URL检查的规则,以确定控制器,动作等。
因为你的动作在SiteController中,它可以被//localhost/site/example/url(规则'<controller:w+>/<action:w+>' => '<controller>/<action>'
)访问。
因此,为了使您的操作可以通过//localhost/example/url访问,应该在规则部分添加另一条规则。
如果您将'example' => 'site/example',
添加到规则您的操作将在所需的URL上访问。
还有一个关于https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing的指南,这样你可以更好地理解yii2中的路由。