Laravel Redirect | Laravel - Redirections
What is Laravel Redirection?
- On a Web site, redirection is a technique for moving visitors to a different Web page than the one they request, usually because the page requested is unavailable.
- Web users often encounter redirection when they visit the Web site of a company whose name has been changed or which has been acquired by another company

laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Redirecting to Named Routes:
- Named route is used to give specific name to a route.
- The name can be assigned using the “as” array key.
- When you call the redirect helper with no parameters, an instance of Illuminate\Routing\Redirector is returned, allowing you to call any method on the Redirector instance.
Route::get('user/profile', ['as' => 'profile', function () {
//
}]);
Note
- Here, we have given the name “profile” to a route “user/profile”.
Example:
laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Step 1:
- Create a view called test.php and save it at resources/views/test.php.
<html>
<body>
<h1>Example of Redirecting to Named Routes</h1>
</body>
</html>
Step 2:
- In routes.php, we have set up the route for test.php file. We have renamed it to “testing”.
- We have also set up another route “redirect” which will redirect the request to the named route “testing”.
Route::get('/test', ['as'=>'testing',function(){
return view('test2');
}]);
Route::get('redirect',function(){
return redirect()->route('testing');
});
Step 3:
- Visit the following URL to test the named route example. http://localhost:8000/redirect
Step 4:
- After execution of the above URL, you will be redirected to http://localhost:8000/test as we are redirecting to the named route “testing”.
laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Step 5:
- After successful execution of the URL, you will receive the following output −

Redirecting to Controller Actions:
- Not only named route but we can also redirect to controller actions.
- We need to simply pass the controller and name of the action to the action method as shown in the following example.
- If you want to pass a parameter, you can pass it as second argument of action method.
return redirect()->action(‘NameOfController@methodName’,[parameters]);
laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Example
Step 1
- Execute the below command to create a controller called RedirectController.
php artisan make:controller RedirectController --plain
Step 2
- After successful execution, you will receive the following output
Step 3
- Copy the following code to file 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.";
}
}
laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Step 4
- Add the following lines in app/Http/routes.php.
Route::get('rr','RedirectController@index');
Route::get('/redirectcontroller',function(){
return redirect()->action('RedirectController@index');
});
Step 5
- Visit the following URL to test the example. http://localhost:8000/redirectcontroller
laravel , laravel framework , laravel documentation , laravel tutorial , laravel install , laracasts
Step 6
- The output will appear as shown in the following image.
Redirecting with Flashed Session Data:
- Redirecting to a new URL and flashing data to the session are usually done at the same time.
- Typically, this is done after successfully performing an action when you flash a success message to the session.
- For convenience, you may create a RedirectResponse instance and flash data to the session in a single, fluent method chain
Route::post('user/profile', function () {
// Update the user's profile...
return redirect('dashboard')->with('status', 'Profile updated!');
});
- After the user is redirected, you may display the flashed message from the session.
- For example, using Blade syntax:
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif