J'ai créé une vue dans views / sites / example.php
<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
Puis dans SiteController.php j'ai ajouté
public function actionExample($message = 'Hello')
{
return $this->render('example', ['message' => $message]);
}
Dans main.php, l'urlManager est configuré
'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>',
),
],
quand j'essaye d'accéder à la page à localhost / exemple, j'obtiens un 404. Qu'ai-je manqué ??
Dans les règles section urlManager partie du Code il y a des règles pour l'URL est cochée pour déterminer le contrôleur, l' action , etc.
Étant donné que votre action est dans SiteController, elle est accessible par // localhost / site / exemple / url (règle '<controller:\w+>/<action:\w+>' => '<controller>/<action>'
).
Donc, pour rendre votre action accessible via // localhost / example / url, une autre règle doit être ajoutée à la section rules.
Si vous ajoutez 'example' => 'site/example',
des règles, votre action sera accessible sur l'URL souhaitée.
Il existe également un guide sur https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing afin que vous puissiez mieux comprendre le routage dans yii2.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots