Laravel 4 - маршрут не определен, при перенаправлении

Я пытаюсь настроить простую переадресацию после входа в систему. Частично работает запись, но перенаправление терпит неудачу, поскольку говорит, что маршрут не существует.

Это мой файл маршрутов:

Route::any('/', array('uses' => '[email protected]'));

Route::any('/manage', array('uses' => '[email protected]'));

И маршрут работает отлично, если я перехожу на http://example.com/manage.. там есть логотип laravel, и моя другая страница тоже прекрасна.

Но когда я делаю:

Redirect::route('/manage');

страница умирает, говоря:

Route [/manage] not defined

У кого-нибудь есть идея?

Ответ 1

Вы должны использовать имя маршрута, когда используете метод Redirect::route, и в этом случае вам нужно объявить маршрут, используя имя, т.е.

Route::any('/manage', array('as' => 'manage', 'uses' => '[email protected]'));

Здесь значение as - это имя route, поэтому теперь вы можете использовать

return Redirect::route('manage'); // 'manage' is the name of the route to redirect

Или, альтернативно, вы можете использовать метод Redirect::to('url'), т.е.

return Redirect::to('/manage'); // '/manage' is the url to redirect

Отметьте Перенаправление на именованный маршрут и именованные маршруты.

Ответ 2

Эта ошибка "Маршрут [управление] не определен" из-за того, что имя маршрута "управлять" не определено.

Название маршрута и маршрут маршрута - это две разные вещи.

И вы указали путь маршрута как admin,

Route::any('manage', '[email protected]');

Однако

return redirect()->route('manage');

означает, что вы перенаправляете поток на маршрут с именем "управлять".

Чтобы отсортировать ошибку,

Определите имя маршрута "управляйте" следующим образом в массиве, определенном ниже, с "как" = > "имя_маршрута".

Решение:

Route::any('manage', [
   'as' => 'manage',
   'uses' => '[email protected]'
]);

Пожалуйста, перейдите по ссылке: https://laravel.com/docs/master/routing#named-routes

Ответ 3

использовать return Redirect:: предназначено ('mannage');