laravel-nova-redirect-manager maintained by novius
Nova Redirect Manager
This package provides a Nova Tool to manage redirects with spatie/laravel-missing-page-redirector.
Requirements
- PHP >= 7.3
- Laravel Nova >= 4.0
- Laravel Framework >= 8.0
Installation
You can install the package via composer:
composer require novius/laravel-nova-redirect-manager
The package will automatically register itself.
Next, launch migrations :
php artisan migrate
Next, you must register the Spatie\MissingPageRedirector\RedirectsMissingPages middleware and publish the config file :
See spatie/laravel-missing-page-redirector for more information.
Configuration
In the config/missing-page-redirector.php file, change the redirector key to Novius\LaravelNovaRedirectManager\Redirector\DatabaseRedirector::class :
return [
//...
/*
* This is the class responsible for providing the URLs which must be redirected.
* The only requirement for the redirector is that it needs to implement the
* `Spatie\MissingPageRedirector\Redirector\Redirector`-interface
*/
'redirector' => \Novius\LaravelNovaRedirectManager\Redirector\DatabaseRedirector::class,
];
You can also publish the configuration file if you want to change values for this package :
php artisan vendor:publish --provider="Novius\LaravelNovaRedirectManager\RedirectManagerServiceProvider" --tag=config
return [
/*
* This is the model used by the database redirector
*/
'redirector_model' => \Novius\LaravelNovaRedirectManager\Models\Redirect::class,
/*
* This is the nova resource used to manage Redirect items
*/
'redirect_nova_resource' => \Novius\LaravelNovaRedirectManager\Resources\Redirect::class,
/*
* This max length rule for Redirect item
*/
'redirect_url_max_length' => 1000,
];
Language
You can also publish the lang files :
php artisan vendor:publish --provider="Novius\LaravelNovaRedirectManager\RedirectManagerServiceProvider" --tag=lang
Lint
Run php-cs with:
composer run-script lint
Contributing
Contributions are welcome! Leave an issue on Github, or create a Pull Request.
Licence
This package is under GNU Affero General Public License v3 or (at your option) any later version.