Kewa2008
@Kewa2008
Программист

Yii2. Ошибка 404, как исправить?

Приветствую!
Есть проблема: Создал контроллер /frontend/controllers/PostController.php
В контроллере действие:
public function actionIndex(){
        $post = new Post();
    
        return $this->render('index', [
                'post' => $post->getPosts(),
        ]);
    }


В файле /frontend/config/main.php
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => true, //запретить стандартные URL если не соответствуют правилам

            'class' => 'common\components\UrlManager',
            'rules' => [
                'languages' => 'languages/default/index', //для модуля мультиязычности
                //далее создаем обычные правила
                '/' => 'site/index',
                '<action:(contact|login|logout|language|about|signup)>' => 'site/<action>',
                '<action:(post)>' => 'post/<action>',
            ],
        ],


при переходе по адресу site.ru/post ошибка 404.

Подскажите в какую сторону копать?
  • Вопрос задан
  • 1616 просмотров
Решения вопроса 1
'<action:(post)>' => 'post/<action>'
Здесь роут менеджер ищет экшн actionPost, а у вас actionIndex
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Kewa2008
@Kewa2008 Автор вопроса
Программист
Ну и конечно же у меня есть представление /frontend/views/post/index.php
Ответ написан
Комментировать
slo_nik
@slo_nik Куратор тега Yii
Доброе утро.
У Вас есть контролер Post и действие Index. Значит Вам надо обратиться к представлению по такому шаблону:
controller/action
Вы же обращаетесь к несуществующему действию в PostController.
Попробуйте начать с такого шаблона
'post' => 'post/index',
// возможные действия в PostController
'post/<_a:\w+>' => 'post/<_a>'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы