重定向时根页面不起作用

时间:2015-07-20 16:36:52

标签: laravel-5 laravel-routing

我使用以下代码重定向到根页。

return Redirect::to('/');

我已经定义了主页路由如下。

Route::get('/', 'PagesController@home');

当页面重定向到根页面时,我希望网址为http://localhost/crafts/public/,但其http://localhost/crafts/public/home。我不确定/ home会在哪里添加。我在PagesController文件中定义了home函数。

这是PagesController部分。

public function home()
{
  return view('home');
}

以下所示的所有其他路线除主航线外都能正常工作。

Route::get('about', 'PagesController@about');
Route::get('contact', 'PagesController@contact');
Route::get('auth/{provider}', 'Auth\AuthController@login');
Route::get('auth/{provider}/callback', 'Auth\AuthController@callback');

请解释我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果你看一下

app/http/Middleware/RedirectIfAuthenticated.php

它有这段代码:

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if ($this->auth->check()) {
        return redirect('/home');
    }

    return $next($request);
}

因此,当您使用Redirect时,它可能首先进行身份验证,然后调用上面的句柄函数,该函数显然正在添加/ home

我注意到你说你在问题标签中使用Laravel-5的一件事。在这种情况下,请将重定向代码替换为:

return redirect('/');

语法Redirect::To适用于版本4.x或更早版本。