如何解决我想要的网站URL的更改?

时间:2019-06-06 11:45:05

标签: php laravel routing laravel-5.7 laravel-authentication

我为我的网站创建了一个身份验证。我发现,如果用户已登录,则由于他现在位于仪表板中,因此无法返回首页。在Stackoverflow的帮助下,我将生成的home.blade.php的所有内容更改为dashboard.blade.php,还更改了home的所有相关参考

现在我遇到了一个尴尬的错误。如果我从仪表板注销并希望重定向到http://localhost:8888/(welcome.blade.php),则会得到http://localhost:8888/login(login.blade.php)。

如果注销后单击左上角的navbrand,则更尴尬,我没有重定向到http://localhost:8888/,而是重定向到http://localhost:8888/login

  1. 我更改了web.php路由。我在“验证”和“来宾”之间添加了网上论坛。
  2. 如果登录的用户尝试将网址从'/ dashboard'更改为'/',则会被重定向。
  3. 我安装了Laravel / telescope以便更好地查看该错误,但是对于我来说,这确实让我很困惑
  4. 我将hone.blade.php更改为dashboard.blade.php,并将所有与“家”相关的内容更改了
  5. 还试图找到解决方案,并在用户注销(LoginController.php)后使用了stackoverflow用户的代码进行重定向

web.php

Route::group(array(['middleware'=>['guest']]), function(){

  Route::get('/', function () {
    return view('welcome');
  });
});



Auth::routes();


// Only logged user
Route::group(array('middleware'=>'auth'), function(){
  Route::get('/dashboard', 'DashboardController@index')->name('dashboard');

  Route::get('/', function () {
    return redirect('/dashboard');
  });


});

LoginController.php

use Illuminate\Http\Request;
protected function loggedOut(Request $request) {
      return redirect('/');
    }

所以我不能放望远镜的图片,但我想我可以尝试用文字重新创建图片。

预期结果:我对HTTP状态了解不多,所以我总共赚了200

Verb| Path       | Status

Here by '/' should be viewed welcome.blade.php

GET | /          | 200

POST| /logout    | 200

GET | /dashboard | 200

The user can't visit the Path '/' because he is now in dashboard website.

GET | /          | 200

POST| /login     | 200

实际结果:

Verb| Path       | Status
GET | /login     | 200

GET | /          | 302

POST| /logout    | 302

GET | /dashboard | 200

GET | /          | 302

POST| /login     | 302

如果你们有任何疑问并想再看几节课,请问我。我不知道与错误有关。我的想法主要是web.php路由错误。

最佳问候 托比亚斯

2 个答案:

答案 0 :(得分:0)

您是否检查了控制器或预定房屋的路线。 例如在您的web.php中,我明白了,

    Route::get('/', function () {
    return view('welcome');
      });
    });

然后在身份验证路由中

Route::get('/', function () {
       return redirect('/dashboard');
      });

答案 1 :(得分:0)

错误是您使用同一条路线两次。

在web.php中重写代码:

Route::get('/', HomeController@index);

Auth::routes();`

// Only logged user
Route::group(array('middleware'=>'auth'), function(){
    Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
});

然后在HomeController中编写您的逻辑:

public function index()
{
    return Auth::guest() ? view('welcome') : redirect('/dashboard');
}