2015-07-20 78 views
1

我正在使用下面的代碼重定向到根頁面。重定向時根網頁不工作

return Redirect::to('/'); 

我已經定義了主頁路由如下。

Route::get('/', '[email protected]'); 

當頁面重定向到根頁,我希望網址是http://localhost/crafts/public/但其http://localhost/crafts/public/home。我不確定那/ home是在哪裏添加的。我有PagesController文件中定義的家庭功能。

這是PagesController部分。

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

下面顯示的所有其他路線都能正常工作,除了主要路線。

Route::get('about', '[email protected]'); 
Route::get('contact', '[email protected]'); 
Route::get('auth/{provider}', 'Auth\[email protected]'); 
Route::get('auth/{provider}/callback', 'Auth\[email protected]'); 

請解釋我做錯了什麼?

+0

請顯示您的所有路線。 – user2094178

+0

編輯該問題以添加所有路線。 – Purus

+0

這很奇怪。我的猜測是'RedirectIfAuthenticated'中間件在你的重定向嘗試之前開始。 – user2094178

回答

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); 
} 

因此,它可能驗證第一,然後調用句柄功能上面這顯然增加了/ home

我注意到一件事,你說你在問題標籤中使用Laravel-5。在這種情況下,替換重定向代碼:

return redirect('/'); 

語法Redirect::To是版本4.x或更早。

+0

好..這個重定向(「/」)在控制器中到達哪裏?我正在使用家庭控制器中的視圖來呈現它。 – Purus

+0

'重定向()'是一個幫手 – user2094178