geek-hub/domain-routing-bundle
Geek Hub Domain Routing Bundle adds domain-aware route registration to Laravel, letting you map routes to specific hostnames or subdomains. Configure domains and route groups to serve separate sections of your app from different domains without duplicating route definitions.
brand.de, brand.fr), white-label storefronts, and legacy-domain cutover during a rebrand — decisions that are expensive to reverse once SEO equity and backlinks have landed on a URL structure.Route::domain() groups with per-group middleware, and a config-driven loop in RouteServiceProvider::boot() reproduces the rest in roughly 20 lines. The real PM decision is not "purchase a product," it is "take on a 0-star dependency versus spending one to two engineering days writing config-native routing." At this maturity level, replication is almost always the better trade.Reasonable fit only if all of the following hold:
Bundle naming, DI extension, configuration tree, and compiler pass all point to Symfony. In a Laravel codebase this is not a candidate at all — native domain route groups cover it. Confirm against composer.json before anyone spends time here.Look elsewhere when:
hreflang policy. That logic is product-specific and will end up in your code regardless of what you adopt.Route::domain(), subdomain parameter binding, Route::pattern() for host constraints, and per-domain middleware groups. Native domain groups cache deterministically; a config loop must generate stable route names or route:cache will silently drop domains — so make a route-cache assertion part of CI from day one.To executives — one paragraph: Multi-domain support is a marketing and SEO decision with a small engineering tail, not an infrastructure program. Our recommendation is to not adopt this specific package as a dependency. It has zero adoption, no maintainer signal, and — despite how it was filed internally — it targets Symfony, not our Laravel stack, so it cannot simply be installed and used. The continuity and supply-chain risk exceeds the effort it saves. The capability it describes, routing each incoming host to its own route set, is roughly one to two engineering days of native configuration in our framework. Fund the capability, skip the dependency. That keeps the domain strategy on the table this quarter at near-zero cost and defers the real spend — SEO migration, redirect mapping, TLS automation for customer domains — until we actually commit to the strategy.
To engineering — the ask: Treat the repository as a design reference, not a dependency. Extract its config schema for host→route-set mapping, mirror it natively in RouteServiceProvider, and write tests for host matching, unknown-host behavior, default-domain fallback, and route caching. Two things to be explicit about: the package is Symfony-oriented, so Laravel-side adoption is a non-starter; and domain routing is a security-relevant surface, because an untrusted Host header drives which routes and middleware apply. Any implementation needs an explicit host allowlist — silent fallback to a default domain is a cross-tenant data exposure, not a cosmetic bug. If someone on the team is already running Symfony and wants to prototype, timebox it to a spike and pin the fork with a named owner.
Decision summary: Adopt the pattern; decline the package. Revisit only if a maintained, adopted alternative emerges, or if we move a relevant service onto Symfony where host matching is not already idiomatic.
How can I help you explore Laravel packages today?