Laravel Change URL First page Routes

时间:2017-11-22 09:22:30

标签: laravel-5

我有一个Laravel 5.4网站,用户登录。 如果我输入Url,脚本会重定向到Login页面,当然不是“home”。

如果我输入的网址不是登录页面,我现在想要一个新页面。带登录按钮的页面,然后进入登录页面。我创建了一个新的刀片,我想作为第一页:start.blade.php

我怎么能改变这个?

我在web.php中使用我的代码尝试了但是没有用,我的代码:

Route::group(['middleware' => 'auth'],function(){
  Route::get('logout','AuthController@Logout')->name('logout');
  Route::get('/', 'HomeController@index')->name('home');
  Route::get('myprofile','ProfileController@Index')->name('profile');

2 个答案:

答案 0 :(得分:1)

route文件中添加新的routes.php,但不附加中间件。使用此: -

  

路线::得到('开始',' StartController @开始') - >名称('开始&#39);

现在,您的routes.php文件应如下所示: -

// Newly added route for handling pre-login calls.
Route::get('start','StartController@start')->name('start');

Route::group(['middleware' => 'auth'],function(){
  Route::get('logout','AuthController@Logout')->name('logout');
  Route::get('/', 'HomeController@index')->name('home');
  Route::get('myprofile','ProfileController@Index')->name('profile');
});

您需要使用名为StartController的函数创建一个新控制器start,以实现此目的而不会干扰当前的代码结构。

在控制器中启动功能: -

public function start() {
 return view('< new view name here >');
}

答案 1 :(得分:1)

您必须在群组外为您的网页添加新路线:

Route::get('start','tController@start')->name('start');
Route::group(['middleware' => 'auth'],function(){
  Route::get('logout','AuthController@Logout')->name('logout');
  Route::get('/', 'HomeController@index')->name('home');
  Route::get('myprofile','ProfileController@Index')->name('profile');
}

然后你必须改变Exceptions->Handler.php

protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

    return redirect()->guest(route('login')); // <-- change here :)
}

您必须将return redirect()->guest(route('login'));更改为新路线:)

return redirect()->guest(route('start'));