Cara Mengubah Lokasi File Login Laravel 5.6



Secara default, Laravel menggunakan file login.blade.php yang terletak di dalam folder resources/views/auth/ sebagai lokasi view form login. Lalu seandainya kita mempunyai nama file yang berbeda, seperti misalnya signin.blade.php yang terletak dalam folder resources/views/admin/auth/, bagaimana kita bisa mengubahnya agar saat kita mengetikkan url di browser: http://localhost:8000/login maka alamat itu akan membawa kita ke tampilan form signin.blade.php?

Ternyata caranya cukup mudah, kita hanya buka file LoginController.php yang ada di folder app/Http/Controllers/Auth/ lalu tambahkan baris berikut:

public function showLoginForm()
{
    return view('admin.auth.signin');
}

Kenapa ditulis admin.auth.signin ? sesuaikan dengan letak file-nya yang ada di dalam folder admin/auth/ lalu tulis nama file login-nya yaitu signin.blade.php (cukup ditulis signin tanpa akhiran .blade.php).

Lalu bagaimana kalau kita ingin mengubah url login Laravel dari http://localhost:8000/login menjadi http://localhost:8000/admin/login ? Caranya dengan memodifikasi route di web.php yang terletak di dalam folder routes.

Pertama-tama hapus dulu kode berikut:

Auth::routes();

Lalu, masukkan baris berikut:

Route::get('/admin/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('/admin/login', 'Auth\LoginController@login'); 
Route::post('/admin/logout', 'Auth\LoginController@logout')->name('logout');

Route::get('/admin/register', [
  'as' => 'register',
  'uses' => 'Auth\RegisterController@showRegistrationForm'
]);

Route::post('/admin/register', [
  'as' => '',
  'uses' => 'Auth\RegisterController@register'
]);

Jika kita ingin melakukan redirect pada url http://localhost:8000/login sehingga secara otomatis akan mengarah ke http://localhost:8000/admin/login, caranya dengan menambahkan kode berikut:

Route::get('/admin', function() {
  return redirect()->route('login');
});

Semoga bermanfaat