Laravel redirect :: route показывает сообщение между загрузками страницы

В настоящее время я разрабатываю веб-приложение с использованием Laravel, и приложение работает отлично до недавнего времени. Я понятия не имел, что вызвало это, но вот резюме проблемы, которую я имею:

Вход в систему используется, поскольку у меня есть AccountController, который делает это:

$auth = Auth::attempt(array( 'username' => Input::get('username'), 'password' => Input::get('password'), 'active'=>1); if ($auth) { return Redirect::route('home'); } return Redirect::route('account-sign-in'); 

И домашний маршрут выглядит так:

 Route::get('/', array('as'=>'home', 'use'=>'HomeController@show')); 

Приложение обычно возвращается на домашнюю страницу сразу после успешного входа в систему. И в моем home.blade.php у меня будет @if(Auth::check()) чтобы убедиться, что как только пользователь войдет в систему, главная страница будет обслуживать другой набор текстов.

Недавно, однако, я заметил, что после отправки запроса на вход в систему есть промежуточная страница с сообщением «Перенаправление на http://localhost.com/ ». Сообщение не было до этого, и ошибки начали появляться вместе с этим сообщением.

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

Отчаявшись в то время, я удалил Redirect :: route ('home') и заменил его на View :: make ('home'). Это остановило сообщение от показа, и я снова могу войти в систему, как обычно.

Поэтому у меня есть два вопроса: 1) что вызывает эту странную проблему? 2) есть ли что-то неправильное при использовании View :: make () в этом случае vs Redirect :: route ()?

Благодаря!

Я столкнулся с такой же проблемой и проведя весь уик-энд, чтобы найти фактическую причину и исправить эту проблему. Я приземлился на этот вопрос stackoverflow и почувствовал тот же вопрос, что и мой.

Я использовал следующую основную функцию php для перенаправления вместо возврата файла представления из контроллера.

 header('Location: /'); 

Он напечатал фактический файл с пустой строкой. Удаление этой строки устранило мою проблему.

В моей базе кода было тысячи файлов. Мое предположение состояло в том, что я попытался использовать разные сценарии, чтобы найти такие пустые строки в начале любого файла, и не было такого файла, как в результатах этих сценариев. Я предположил, что нет пустых строк в любом из моих файлов. Но header ('Location: /') доказал, что мое предположение неверно, и я работал над неправильными строками.

Хотя не видя больше вашей настройки, будет сложно отладить, у вас есть ошибка в вашем маршруте ….

 Route::get('/', array('as'=>'home', 'use'=>'HomeController@show')); 

Должно быть:

 Route::get('/', array('as'=>'home', 'uses'=>'HomeController@show')); 

Обратите внимание на «использование», а не на «использование».

Кроме того, нет ничего плохого в использовании View :: make, однако его возможно не лучшая логика для использования, так как у пользователя будет отображаемый контент, который не соответствует URL-адресу. Лучшей практикой было бы перенаправить их, поскольку вы в настоящее время ….. Просто убедитесь, что маршрут для них ударил, как только перенаправлено.

У меня была та же проблема, проблема в том, что у меня было место в базовом контроллере перед тегом <?php