Маршруты Laravel не работают.

Пытаюсь начать с Laravel. Пройдя простой урок (я думал) и они пройдут через страницу route.php.

Route::controller(Controller::detect());
Route::get('about', 'home@about');

У меня также есть простая страница login.php, которая не работает

<?php

class Login_Controller extends Base_Controller{

    public function action_index()
    {
        echo 'test';
    }

}

?>

Кажется, что-нибудь, что я создаю, это не обнаружится. Это просто дает ошибку 404. Нужно ли что-то смывать? Я попытался перезапустить Apache, но не повезло.

Нужен ли мне Composer, если да, как мне настроить.json? и куда бы я его положил

1 ответ

Route::controller() всегда должен быть последним, потому что это будет указывать несколько подстановочных маршрутов, и маршруты, следующие за ним, могут не попасться.

Route::get('about', 'home@about');
Route::controller(Controller::detect());

Сказав это, я всегда рекомендую вам указать свои контроллеры вручную. С помощью Controller::detect() означает, что все контроллеры будут маршрутизироваться, включая базовые контроллеры.

Помните, что в Laravel вы должны возвращать контент из представлений, а не эхо напрямую. Так что для вашего контроллера входа попробуйте это вместо...

function action_index()
{
    return 'test';
}

Это должно (если у вас правильно настроен apache) отвечать http://mysite.com/login а также http://mysite.com/login/index, если ни одна из этих работ, попробуйте добавить index.php в адрес, как http://mysite.com/index.php/login,

Другие вопросы по тегам