Маршруты 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
,