Skip to content

aw-studio/laravel-redirects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel redirects

This package provides an easy way to create and manage redirects in your Laravel application.

Installation

Install the package via Composer:

composer require aw-studio/laravel-redirects

Publish the packages migrations and config:

php artisan vendor:publish --provider="AwStudio\Redirects\RedirectsServiceProvider"

Run the migration

php artisan migrate

Add AwStudio\Redirects\Middleware\RedirectRoutesMiddleware to /app/Http/Kernel.php:

class Kernel extends HttpKernel
{
    protected $middleware = [
        ...
        \AwStudio\Redirects\Middleware\RedirectRoutesMiddleware::class,
    ],
}

Usage

Using database redirects

The provided Redirect model stores the following attributes:

  • from_url
  • to_url
  • http_status_code (default 301)
  • active (default true)

With this you may create redirects like this:

app('redirect.model')->create([
    'from_url' => '/old',
    'to_url' => '/new',
    'http_status_code' => 301
]);

Using config redirects

If you need to configure some (static) redirects you may do so in the config/redirects.php.

'redirects' => [
    '/{any}' => '/en/{any}',
],

By default every redirect from the configuration file is handled as a 301. You may however overwrite it like this:

'redirects' => [
    '/old' => ['/temporary-new', 302],
],

Using URL parameters

Both, config and database redirects, support Laravel route parameters:

'redirects' => [
    '/blog/{post}' => '/news/{post}',
]

//

app('redirect.model')->create([
    'from_url' => 'blog/{post}',
    'to_url' => 'news/{post}',
]);

Credits

This package is inspired by and based on the discontinued Neurony/laravel-redirects package and also takes inspiration from spatie/laravel-missing-page-redirector.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages