Search by

novius / laravel-filament-redirect-manager

novius

This package provides an interface to manage redirects with Filament in Laravel applications.

Package info

github.com/novius/laravel-filament-redirect-manager

pkg:composer/novius/laravel-filament-redirect-manager

Fund package maintenance!

novius

Statistics

Installs: 1 113

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 2

1.1.0 2026-11-12 16:12 UTC

This package is auto-updated.

Last update: 2026-11-12 16:15:54 UTC


README

Laravel Filament Redirect Manager

Novius CI Packagist Release License: AGPL v3

Introduction

This package provides an interface to manage redirects with Laravel Filament Redirect Manager in Laravel Filament.

Requirements

  • Laravel Filament >= 4
  • Laravel >= 11.0
  • PHP >= 8.2

Installation

Composer

Install the package via composer:

composer require novius/laravel-filament-redirect-manager

Middleware

Next, prepend/append the Spatie\MissingPageRedirector\RedirectsMissingPages middleware to your global middleware stack:

// bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->append([
        \Spatie\MissingPageRedirector\RedirectsMissingPages::class,
    ]);
})

Filament plugin

Add the LaravelFilamentRedirectManager plugin in your Filament Panel

use Novius\LaravelFilamentRedirectManager\LaravelFilamentRedirectManager;

class AdminFilamentPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugins([
                // ...
                LaravelFilamentRedirectManager::make(),
            // ...
            ])
            // ...
            ;
    }
}

Lang files

If you want to customize the lang files, you can publish them with:

php artisan vendor:publish --provider="Novius\LaravelFilamentRedirectManager\RedirectManagerServiceProvider" --tag="lang"

Usage

This package allows you to manage redirects in a Laravel application through a Filament interface.

Adding a Redirect

To add a redirect, use the Filament interface provided by the package. You can configure the following fields:

  • Original URL (from): The relative URL to redirect (e.g., /old-url).
  • Redirection URL (to): The absolute or relative URL to redirect to (e.g., https://www.site.com/new-url or /new-url).

Redirects by locale

On a site with one domain or one prefix per locale, the same old path can lead to a different page in each locale (/legal-notice.html on www.site.fr and on www.site.com). A redirect can then be limited to a locale.

Publish the config and list the locales of the redirects:

php artisan vendor:publish --provider="Novius\LaravelFilamentRedirectManager\RedirectManagerServiceProvider" --tag="config"
// config/laravel-filament-redirect-manager.php
'locales' => [
    'fr' => 'Français',
    'en' => 'English',
],
'locale_resolver' => \App\Redirects\RequestLocaleResolver::class,

The Filament form and list then show a « Locale » field and filter. A redirect without locale applies to every locale; for the same path, the redirect of the locale of the request wins. With locales empty (the default), the redirects have no locale and the behaviour is unchanged.

The locale of the request comes from the locale_resolver (Contracts\LocaleResolver). The default one takes the locale of the application, but the middleware that sets it usually belongs to the routes and does not run for a path that no route matches: on such a site, write a resolver that reads the locale from the request (its domain or its prefix).

Lint

Lint your code with Laravel Pint using:

composer lint

Static analysis

Analyse your code with PHPStan using:

composer analyse

Tests

Run the tests with Pest using:

composer test

Licence

This package is under GNU Affero General Public License v3 or (at your option) any later version.