我使用以下代码重定向到根页。
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');
请解释我做错了什么?
答案 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或更早版本。