Laravel重定向

重定向至命名路由

命名路由用於給出具體的名字命名到一個路由。名稱可以使用「作爲」數組鍵來被分配。

Route::get('user/profile', ['as' => 'profile', function () {
//
}]);

注 - 在這裏,我們命名爲「profile」到路由「user/profile」。

示例

第1步 - 創建一個名爲 test.php 的視圖,並將其保存在resources/views/test.php。

Example of Redirecting to Named Routes

 

第2步 - 在 routes.php 文件中,我們已經創建了 test.php 文件的路由,把它重新命名爲 「testing」。我們還建立了一個路由 「redirect」,這將請求重定向到指定路由「testing」。

app/Http/routes.php

Route::get('/test', ['as'=>'testing',function(){
return view('test');
}]);
Route::get('redirect',function(){
return redirect()->route('testing');
});

第3步 - 訪問以下網址測試命名的路由例子。

https://asset.1ju.org/redirect

第4步 - 上面的URL執行後,因爲我們重定向到 https://asset.1ju.org/test 同時你會被重定向到命名路由 "testing"。

第5步 - URL的成功執行後原來的URL會跳轉到   https://asset.1ju.org/test,您會收到以下輸出 -
Laravel重定向

重定向到控制器動作


不僅命名的路由,但我們也可以重定向到控制器動作。我們只需要簡單將控制器和動作名稱傳遞給動作方法,如下面的例子所示。如果想傳遞一個參數,那可以把它作爲操作方法的第二個參數傳遞。

return redirect()->action(‘NameOfController@methodName’,[parameters]);

示例

第1步- 執行以下命令來創建一個名爲 RedirectController。

php artisan make:controller RedirectController

第2步 - 成功執行後,您會收到以下輸出 -
Laravel重定向

第3步 - 將以下代碼複製到文件:app/Http/Controllers/RedirectController.php.

app/Http/Controllers/RedirectController.php

action('RedirectController@index'); }); 第5步 - 請訪問以下網址進行測試例子。 *https://asset.1ju.org/redirectcontroller* 第6步 - 輸出結果如下圖所示。 ![Laravel重定向](https://asset.1ju.org/cmsstatic/laravel-38.png)