spatie/laravel-missing-page-redirector
Automatically redirect 404 (missing) pages in Laravel to preserve SEO during site migrations. Configure old-to-new URL redirects in a config file or implement a custom redirector (e.g., database-backed) via middleware in your global stack.
MissingPageRedirector middleware.Redirector implementations) allow for programmatic management.app/Http/Kernel.php.Redirector classes can handle this..htaccess, Nginx, or legacy systems)./old-page → /new-page).composer require spatie/laravel-missing-page-redirector.php artisan vendor:publish --provider="Spatie\MissingPageRedirector\MissingPageRedirectorServiceProvider".config/missing-page-redirector.php or a database table.app/Http/Kernel.php:
protected $middleware = [
\Spatie\MissingPageRedirector\Middleware\RedirectIfMissingPage::class,
];
php artisan route:list and curl/postman to verify redirects.Spatie\MissingPageRedirector\Redirectors\Redirector for bespoke logic (e.g., API-based redirects).Cache::remember) to reduce database hits for high-volume redirects.config:cache to avoid runtime parsing overhead.from_path column for performance.events or a custom middleware) to track usage and identify stale entries.php artisan route:list --missing or Laravel’s debugbar.Cache::remember("redirects_{$path}", now()->addHours(1), fn() => Redirector::getRedirectForPath($path));
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Misconfigured middleware | All requests 404 | Verify Kernel.php registration. |
| Database connection issues | Redirects fail silently | Implement fallback to config or 404. |
| Redirect loop (A→B→A) | Infinite redirects | Add cycle detection in custom redirector. |
| Stale redirects | Broken links/SEO loss | Schedule periodic audits (e.g., monthly). |
| High traffic + DB redirects | Slow responses | Cache redirects aggressively. |
config/missing-page-redirector.php and run php artisan config:clear."How can I help you explore Laravel packages today?