- Is funstaff/redirect-bundle compatible with Laravel?
- No, not natively. It is packaged as a Symfony bundle (a Bundle class registered in bundles.php), and Laravel does not load Symfony bundles even though it consumes selected Symfony components. Making it work would mean writing your own service provider and middleware wrapper around its core, at which point you have effectively rebuilt it. For a Laravel application, treat it as non-consumable and do not add it as a Composer dependency.
- How do I install funstaff/redirect-bundle?
- In a Symfony application you would install it with Composer and register the bundle in config/bundles.php, then supply your redirect configuration. In Laravel there is no supported installation path, because the bundle registration mechanism does not exist. Because version constraints are not published in metadata, pin the exact version and test it in a sandbox against your PHP and framework versions before considering any use.
- Where are the redirect rules stored, and how are incoming URLs matched?
- The available metadata does not state whether the redirect map lives in a config file, a database table, or an external store, nor whether it is hot-reloadable. Matching semantics for query strings, trailing slashes, case sensitivity, and locale prefixes are also undocumented. Read the source before relying on it, and confirm exactly how a source path is resolved to a destination. This is the first thing to verify in a short source-review spike.
- Which HTTP status codes does the bundle emit for redirects?
- The metadata does not document which codes are used, and there is no evidence that 301, 302, 307, or 308 can be selected per rule. Permanent versus temporary codes materially affect SEO and browser caching, so this must be confirmed in the source rather than assumed. If per-rule control is missing, that is a strong argument for a first-party implementation with a status_code column.
- Does funstaff/redirect-bundle protect against open redirect vulnerabilities?
- There is no evidence of destination allow-listing, and an unvalidated redirector becomes a phishing vector if destinations are editable via config or an admin panel. This is a high-severity concern that must be audited line by line before production use. If you build your own solution, make allow-listing an explicit acceptance criterion rather than an afterthought.
- Does it detect redirect loops and chains?
- Cycle detection is not evidenced in the available information, which is a medium-severity risk. Redirect loops typically surface as 5xx responses or browser errors that are hard for users and crawlers to diagnose. If you adopt the pattern, add loop and chain detection to your middleware, and cap the number of hops a request may follow.
- Which PHP and framework versions are supported?
- The declared php and framework constraints are not published in the package metadata, and the last commit date is unknown. That means you must pin, sandbox, and test against your exact runtime before making any decision. Do not let an unversioned transitive dependency enter a production dependency graph.
- Is funstaff/redirect-bundle actively maintained?
- Signals are poor: roughly 3 stars, 0 dependents, a single maintainer, and no visible ecosystem around the package. It appears effectively unmaintained, so adopting it means inheriting patching and framework-upgrade work yourself. Check the maintainer's issue response history and the last release date before treating it as a dependency.
- Does the package have tests and CI coverage?
- There are no coverage, CI, or static-analysis indicators in the metadata, so the test signal is unknown. Without a test suite you cannot safely verify matching behavior, status codes, or security posture after an upgrade. Plan a hands-on proof of concept pinned to your framework version and measure lookup overhead yourself.
- What are the alternatives for managing redirects in Laravel?
- Do not migrate to this bundle; migrate the idea instead. A redirects table with source_path, destination, status_code, active, and created_at, plus global middleware that resolves and caches lookups, reproduces the capability in roughly fifty lines with full control. If you genuinely want a dependency, evaluate actively maintained packages such as spatie/laravel-redirect rather than a 3-star Symfony bundle.