Статические страницы Yii2 не найдены

#php #yii2

#php #yii2

Вопрос:

Я создал представление в views/sites/example.php

 <?php   
use yiihelpersHtml;   
?>   
<?= 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. Что я пропустил??

Комментарии:

1. Можно ли найти вашу страницу по URL с site/example помощью?

2. Спасибо, @SergiyT. да, это возможно. Как мне это исправить? Я должен добавить, что это установленное приложение, над которым я только начал работать с нулевым опытом работы с Yii…..

3. Вы можете добавить пользовательский маршрут. Что-то вроде 'example' => 'site/example', в части правил urlManager.

4. @SergiyT. спасибо за помощь, это работает! Я не могу пометить это как принятый ответ, если вы не хотите опубликовать его в качестве ответа?

Ответ №1:

В разделе правил части кода 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.

Комментарии:

1. Большое вам спасибо!