This package is and add on to the linter panel to manage 404 and redirections. It includes a filament resource for managng and redirecting 404 and 2 widgets for the dashboard to get the information of the 404 and redirections.
You can install the package via composer:
composer require pardalsalcap/linter-redirections
You can publish and run the migrations with:
php artisan vendor:publish --tag="linter-redirections-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="linter-redirections-config"
This is the contents of the published config file:
return [
];
To register the 404 or any Exception you like to monitor you can add the following code to your app/Exceptions/Handler.php
file:
use Pardalsalcap\HialoRedirections\Repositories\RedirectionRepository;
public function render($request, Throwable $e) {
switch(class_basename($e)){
case 'NotFoundHttpException':
$http_status = $e->getStatusCode();
$redirection_repository = new RedirectionRepository();
$redirection = $redirection_repository->check(request()->fullUrl());
if ($redirection) {
return redirect($redirection->fix, $redirection->http_status);
}
if ($http_status == "404")
{
$redirection_repository->logError(request()->fullUrl(), $http_status);
}
break;
}
return parent::render($request, $e);
}
If you want to log any other exception you can add it to the switch case.
You can extend the RedirecionsResource to add the ability to manage the redirections from the filament panel. To do so you can create a Resource like this:
<?php
namespace App\Filament\Resources;
class RedirectionResource extends \Pardalsalcap\LinterRedirections\Resources\RedirectionResource
{
// Any additional logic here
}
To add the widgets to the dashboard you can add the following code to your filament panel widgets section:
RedirectionsStats::class,
RedirectionsDashboardWidget::class,
Please see CHANGELOG for more information on what has changed recently.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.