
- Laravel 教程
- Laravel - 首頁
- Laravel - 概述
- Laravel - 安裝
- Laravel - 應用結構
- Laravel - 配置
- Laravel - 路由
- Laravel - 中介軟體
- Laravel - 名稱空間
- Laravel - 控制器
- Laravel - 請求
- Laravel - Cookie
- Laravel - 響應
- Laravel - 檢視
- Laravel - Blade 模板
- Laravel - 重定向
- Laravel - 資料庫操作
- Laravel - 錯誤與日誌
- Laravel - 表單
- Laravel - 本地化
- Laravel - Session
- Laravel - 驗證
- Laravel - 檔案上傳
- Laravel - 傳送郵件
- Laravel - Ajax
- Laravel - 錯誤處理
- Laravel - 事件處理
- Laravel - Facades
- Laravel - Contracts
- Laravel - CSRF 保護
- Laravel - 身份驗證
- Laravel - 授權
- Laravel - Artisan 命令列工具
- Laravel - 加密
- Laravel - 雜湊
- 理解發布流程
- Laravel - 客人使用者許可權
- Laravel - Artisan 命令
- Laravel - 分頁自定義
- Laravel - Dump Server
- Laravel - Action URL
- Laravel 有用資源
- Laravel - 快速指南
- Laravel - 有用資源
- Laravel - 討論
Laravel - 重定向
命名路由用於為路由賦予特定名稱。可以使用“as”陣列鍵分配名稱。
Route::get('user/profile', ['as' => 'profile', function () { // }]);
注意 − 在這裡,我們將名稱profile賦予路由user/profile。
重定向到命名路由
示例
觀察以下示例以瞭解更多關於重定向到命名路由的資訊:
步驟 1 − 建立一個名為 test.php 的檢視,並將其儲存到
resources/views/test.php.
<html> <body> <h1>Example of Redirecting to Named Routes</h1> </body> </html>
步驟 2 − 在routes.php中,我們設定了test.php檔案的路由。我們將其重新命名為testing。我們還設定了另一個路由redirect,它將請求重定向到命名路由testing。
app/Http/routes.php
Route::get('/test', ['as'=>'testing',function() { return view('test2'); }]); Route::get('redirect',function() { return redirect()->route('testing'); });
步驟 3 − 訪問以下URL以測試命名路由示例。
https://:8000/redirect
步驟 4 − 執行上述URL後,您將被重定向到 https://:8000/test,因為我們正在重定向到命名路由testing。
步驟 5 − URL成功執行後,您將收到以下輸出:

重定向到控制器操作
不僅可以重定向到命名路由,還可以重定向到控制器操作。我們只需將控制器和action的名稱傳遞給action方法,如下例所示。如果要傳遞引數,可以將其作為action方法的第二個引數傳遞。
return redirect()->action(‘NameOfController@methodName’,[parameters]);
示例
步驟 1 − 執行以下命令以建立一個名為RedirectController的控制器。
php artisan make:controller RedirectController --plain
步驟 2 − 成功執行後,您將收到以下輸出:

步驟 3 − 將以下程式碼複製到檔案
app/Http/Controllers/RedirectController.php.
app/Http/Controllers/RedirectController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class RedirectController extends Controller { public function index() { echo "Redirecting to controller's action."; } }
步驟 4 − 在app/Http/routes.php中新增以下幾行。
app/Http/routes.php
Route::get('rr','RedirectController@index'); Route::get('/redirectcontroller',function() { return redirect()->action('RedirectController@index'); });
步驟 5 − 訪問以下URL以測試該示例。
https://:8000/redirectcontroller
步驟 6 − 輸出將如下圖所示。

廣告