agenciafmd/admix-redirects

Redirects - Agência F&MD

dev-master 2025-07-28 22:01 UTC

This package is auto-updated.

Last update: 2025-07-28 22:03:49 UTC


README

Logo da F&MD

F&MD - Redirects

Área Administrativa

Downloads Licença

  • Gestão de redirecionamentos de forma simples e eficiente.

Instalação

composer require agenciafmd/admix-redirects:v11.x-dev

Execute a migração

php artisan migrate

Se precisar do seed, faça a publicação

php artisan vendor:publish --tag=admix-redirects:seeders

Não esqueça

  • de adicionar o RedirectsTableSeeder::class em database/seeders/DatabaseSeeder.php
  • alterar namespace do RedirectsTableSeeder.php para Database\Seeders
  • de executar o composer dumpautoload

Uso

Adicione o middleware UseRedirectPackage em bootstrap/app.php.

<?php

use Agenciafmd\Redirects\Http\Middleware\UseRedirectPackage;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__ . '/../routes/web.php',
        commands: __DIR__ . '/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        // Adicione o middleware UseRedirectPackage
        $middleware->append(UseRedirectPackage::class);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

Adicione o fallback ao fim das suas rotas web:

Ex.

<?php

use Agenciafmd\Frontend\Http\Controllers\FrontendController;
use Agenciafmd\Frontend\Http\Controllers\HtmlController;
use Illuminate\Support\Facades\Route;

Route::get('html/{any?}', [HtmlController::class, 'index'])
    ->name('frontend.html');
Route::get('/', [FrontendController::class, 'index'])
    ->name('frontend.index');
Route::fallback(static fn() => abort(404));

Configurações

Caso seja necessária alguma modificação, publique o arquivo de config com o comando:

php artisan vendor:publish --tag=admix-redirects:config

Ex.

<?php

return [
    'name' => 'Redirects',
    'icon' => 'arrow-guide',
    'sort' => 100,
    'types' => [
        [
            'value' => '',
            'label' => '-',
        ],
        [
            'value' => '301',
            'label' => 'Permanente (301)',
        ],
        [
            'value' => '302',
            'label' => 'Temporário (302)',
        ],
    ],
];