找不到 Yii2 静态页面
Yii2 Static Pages Not Found
我在 views/sites/example 中创建了一个视图。php
<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
然后在SiteController.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。我错过了什么??
在 rules 部分 urlManager 部分代码中有检查 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 中的路由。
我在 views/sites/example 中创建了一个视图。php
<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
然后在SiteController.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。我错过了什么??
在 rules 部分 urlManager 部分代码中有检查 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 中的路由。