"Маршрут [логин] не определен." после хостинга. Laravel 5.7, но работает на localhost - PullRequest
0 голосов
/ 25 января 2019

// web.php

     Route::match(['get', 'post'], '/login', 'AdminController@login')->name('admin.login');

     Route::group(['middleware' => ['auth']], function(){
         Route::get('/admin/dashboard', 'AdminController@dashboard')->name('admin.dashboard');
     });

// admincontroller.php

    <?php

    namespace App\Http\Controllers;

    use App\User;
    use Illuminate\Http\Request;
    use Auth;
    use Session;
    use Illuminate\Support\Facades\Input;

    class AdminController extends Controller
    {
        public function login(Request $request)
        {
           if($request->isMethod('post')) {
               $data = $request->input();
               if(Auth::attempt(['email'=>$data['email'],
               'password'=>$data['password'], 'admin'=>'1'])) {
                   return redirect()->route('admin.dashboard');
               } else {
                   return redirect()->route('admin.login')
                   ->with('flash_message_error', 'Invalid Access Credentials');
               }
           }
       return view ('backend.admin_login');
    }
}

// Маршруты:

Route::get('/', 'IndexController@index')->name('index'); 
Route::get('404',['as'=>'404','uses'=>'ErrorHandlerController@errorCode404']); 
Auth::routes(); 
Route::get('/home', 'HomeController@index')->name('home'); 
Route::match(['get', 'post'], '/login', 'AdminController@login')->name('admin.login'); 
Route::group(['middleware' => ['auth']], function(){ 
    Route::get('/admin/dashboard', 'AdminController@dashboard')->name('admin.dashboard'); 
 }); 
Route::get('/logout', 'AdminController@logout')->name('adminlogout'); 

Пожалуйста, помогите мне ...Я много пробовал, но не смог найти никаких реальных ошибок.На localhost работает нормально.Любые фанаты Laravel 5.7 здесь.

Жду вашей помощи .. Заранее спасибо.

1 Ответ

0 голосов
/ 25 января 2019

Если вы используете промежуточное ПО по умолчанию 'auth', тогда должен быть маршрут с именем 'login'.Но у вас есть только страница admin.login.Я думаю, проблема в промежуточном программном обеспечении.

Проверьте файл 'app / Http / Middleware / Authenticate.php'.По умолчанию это так:

 protected function redirectTo($request)
    {
        if (! $request->expectsJson()) {
            return route('login');
        }
    }

изменить return route('login') на return route('admin.login')

Пожалуйста, дайте мне знать, если это работает.

...