2013-09-14 3 views
12

Я пытаюсь настроить простую переадресацию после входа в систему. Работа с протоколом частично работает, но перенаправление не выполняется, поскольку говорит, что маршрут не существует.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 

Кто-нибудь есть идеи?

+0

попробовать 'Перенаправление :: к ('/ менеджер')' –

+0

я пробовал, но тогда это просто вернуться к странице я уже am on –

ответ

16

Вы должны использовать название маршрута, когда вы используете 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 

Проверить Redirect to a named Route и named routes.

+0

Я сделал то, что вы сказали, но по-прежнему перенаправляюсь обратно на мою исходную страницу. –

+0

Тогда, возможно, вы уже находитесь на странице, на которую перенаправляется. –

+0

ха-ха, нет, я не, но это было бы что-то проверить, что я и сделал :) –

-1

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

1

Эта ошибка «Маршрут [управляющий] не определен» из-за названия маршрута «управлять» не определен.

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

И вы объявили путь маршрута как администратор,

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

Однако

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

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

Для сортировки ошибки,

Определить название маршрута «управлять» следующей в массиве, определенный ниже с «как» => «ROUTE_NAME».

Решение:

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

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

Смежные вопросы